zoukankan      html  css  js  c++  java
  • 一次编辑GridView 的所有行

    在平时的实际项目中,为了减少往返提交数据,可以一次编辑 GridView 的所有行,这样大大提高用户使用产品的体验。下面就讲解何一次编辑 GridView 的所有数据行。在下面的例子中,数据库使用《ASP.NET 2.0应用开发技术》一书中Site\App_Data\下的 ASPNET20Book.mdb 数据库。例子中的数据更新方式使用 SqlDataSource 数据源控件的UpdateCommand属性,但此方法同样适用于存储过程,SQL 语句等。

    C#

    <%@ Page Language="C#" Debug="true" %> <!doctype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> string[] ClassNameArray = { "大学", "中学", "高中" }; //初始化原来的值 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { System.Data.DataRowView drv = (System.Data.DataRowView)e.Row.DataItem; RadioButtonList rbl = (RadioButtonList)e.Row.FindControl("txtGender"); if (rbl != null) { if ((bool)drv["Gender"]) { rbl.Items.FindByText("男").Selected = true; } else { rbl.Items.FindByText("女").Selected = true; } } DropDownList ddl = (DropDownList)e.Row.FindControl("txtClassName"); if (ddl != null) { ddl.Items.FindByText(drv["ClassName"].ToString()).Selected = true; } } } // 初始化项目列表 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddl = (DropDownList)e.Row.FindControl("txtClassName"); ddl.DataSource = ClassNameArray; ddl.DataBind(); } } //处理提交的数据 protected void XianhuiMeng_Click(object sender, EventArgs e) { foreach (GridViewRow gvr in GridView1.Rows) { string tGender = ((RadioButtonList)gvr.FindControl("txtGender")).SelectedValue; SqlDataSource1.UpdateParameters.Add(new Parameter("@Title", TypeCode.String, ((TextBox)gvr.FindControl("txtTitle")).Text)); SqlDataSource1.UpdateParameters.Add(new Parameter("@Gender", TypeCode.Boolean, (tGender == "男" ? "True" : "False"))); SqlDataSource1.UpdateParameters.Add(new Parameter("@ClassName", TypeCode.String, ((DropDownList)gvr.FindControl("txtClassName")).SelectedValue)); SqlDataSource1.UpdateParameters.Add(new Parameter("@id", TypeCode.Int32, GridView1.DataKeys[gvr.DataItemIndex].Value.ToString())); SqlDataSource1.Update(); SqlDataSource1.UpdateParameters.Clear(); } Response.Redirect(Request.UrlReferrer.ToString()); } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>同时编辑 GridView的 多行</title> </head> <body> <form id="form1" runat="server"> <asp:gridview ID="GridView1" runat="server" Font-Size="12px" CellPadding="3" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1" OnRowDataBound="GridView1_RowDataBound" OnRowCreated="GridView1_RowCreated"> <headerstyle BackColor="#EDEDED" /> <columns> <asp:templatefield HeaderText="姓名"> <itemtemplate> <asp:textbox ID="txtTitle" runat="server" Text='<%#eval("title") %>'></asp:textbox> </itemtemplate> </asp:templatefield> <asp:templatefield HeaderText="性别"> <itemtemplate> <asp:radiobuttonlist ID="txtGender" runat="server" RepeatColumns="2"> <asp:listitem Text='男'></asp:listitem> <asp:listitem Text='女'></asp:listitem> </asp:radiobuttonlist> </itemtemplate> </asp:templatefield> <asp:templatefield HeaderText="学历"> <itemtemplate> <asp:dropdownlist ID="txtClassName" runat="server"> </asp:dropdownlist> </itemtemplate> </asp:templatefield> </columns> </asp:gridview> <asp:sqldatasource ID="SqlDataSource1" runat="server" ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ASPNET20Book.mdb;Persist Security Info=True" ProviderName="System.Data.OleDb" SelectCommand="SELECT * FROM [Student]" UpdateCommand="Update [Student] Set Title = @Title,Gender = @Gender,ClassName=@ClassName Where id=@id"> </asp:sqldatasource> <asp:button ID="Button1" runat="server" Text="保存所有修改" OnClick="XianhuiMeng_Click" /> </form> </body>
    因为爱上你,我才懂得珍惜,每一天日记,都写满了甜蜜
    因为想念你,我每天都可以,对着镜子说我多爱你,有多想见到你。
  • 相关阅读:
    SharePoint 2013 商务智能报表发布
    sharepoint designer web 服务器似乎没有安装microsoft sharepoint foundation
    SharePoint 2013 Designer系列之数据视图
    SharePoint 2013 Designer系列之数据视图筛选
    SharePoint 2013 Designer系列之自定义列表表单
    SharePoint 2013 入门教程之创建及修改母版页
    SharePoint 2013 入门教程之创建页面布局及页面
    SharePoint 2010 级联下拉列表 (Cascading DropDownList)
    使用SharePoint Designer定制开发专家库系统实例!
    PL/SQL Developer 建立远程连接数据库的配置 和安装包+汉化包+注册机
  • 原文地址:https://www.cnblogs.com/jackzhang/p/569186.html
Copyright © 2011-2022 走看看