zoukankan      html  css  js  c++  java
  • Gridview中的编辑模板与项模板的用法

    前台代码书写:

    前台代码
    1 <asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server" BorderColor="Black"
    2 onrowcancelingedit="GridView1_RowCancelingEdit"
    3 onrowediting="GridView1_RowEditing"
    4 onrowdatabound="GridView1_RowDataBound" onrowupdating="GridView1_RowUpdating">
    5 <Columns>
    6 <asp:TemplateField HeaderText ="ID">
    7 <ItemTemplate>
    8 <%#Eval("CustomerID") %>
    9 </ItemTemplate>
    10 <EditItemTemplate>
    11 <%#Eval("CustomerID") %>
    12 </EditItemTemplate>
    13 </asp:TemplateField>
    14 <asp:TemplateField HeaderText ="Name">
    15 <ItemTemplate>
    16 <%#Eval("CompanyName") %>
    17 </ItemTemplate>
    18 <EditItemTemplate>
    19 <asp:TextBox ID="TextBox1" runat="server" Text ='<%#Eval("CompanyName") %>'></asp:TextBox>
    20 </EditItemTemplate>
    21 </asp:TemplateField>
    22 <asp:TemplateField HeaderText ="Contact">
    23 <ItemTemplate>
    24 <%#Eval("ContactName") %>
    25 </ItemTemplate>
    26 <EditItemTemplate>
    27 <asp:TextBox ID="TextBox2" runat="server" Text ='<%#Eval("ContactName") %>'></asp:TextBox>
    28 </EditItemTemplate>
    29 </asp:TemplateField>
    30 <asp:TemplateField HeaderText ="Address">
    31 <ItemTemplate>
    32 <%#Eval("Address") %>
    33 </ItemTemplate>
    34 <EditItemTemplate>
    35 <asp:TextBox ID="TextBox3" runat="server" Text ='<%#Eval("Address") %>'></asp:TextBox>
    36 </EditItemTemplate>
    37 </asp:TemplateField>
    38 <asp:TemplateField HeaderText ="City">
    39 <ItemTemplate>
    40 <%#Eval("City") %>
    41 </ItemTemplate>
    42 <EditItemTemplate>
    43 <asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server">
    44 </asp:DropDownList>
    45 </EditItemTemplate>
    46 </asp:TemplateField>
    47 <asp:TemplateField HeaderText ="编辑">
    48 <ItemTemplate>
    49 <asp:Button ID="Button1" runat="server" Text="编辑" CommandName="Edit" />
    50 </ItemTemplate>
    51 <EditItemTemplate>
    52 <asp:Button ID="Button2" runat="server" Text="修改" CommandName="Update" />&nbsp;
    53 <asp:Button ID="Button3" runat="server" Text="取消" CommandName="Cancel" />
    54 </EditItemTemplate>
    55 </asp:TemplateField>
    56 </Columns>
    57 </asp:GridView>

    后台代码:

    后台代码
    1 protected void Page_Load(object sender, EventArgs e)
    2 {
    3 if (!IsPostBack)
    4 {
    5 databind();
    6 }
    7 }
    8 public void databind()
    9 {
    10 SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
    11 SqlCommand cmd = new SqlCommand("SELECT * FROM CUSTOMERS", con);
    12 SqlDataAdapter da = new SqlDataAdapter(cmd);
    13 DataSet ds = new DataSet();
    14 da.Fill(ds);
    15 this.GridView1.DataSource = ds.Tables[0];
    16 this.GridView1.DataKeyNames = new string[] { "CustomerID", "City" };
    17 this.GridView1.DataBind();
    18 }
    19 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    20 {
    21 this.GridView1.EditIndex = e.NewEditIndex;
    22 databind();
    23 }
    24 protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    25 {
    26 this.GridView1.EditIndex = -1;
    27 databind();
    28 }
    29 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    30 {
    31 foreach (TableCell item in e.Row.Cells)
    32 {
    33 item.Attributes.Add("style", "border-color:black");
    34
    35 }
    36 if (e.Row.RowType == DataControlRowType.DataRow)
    37 {
    38 DropDownList dr = (DropDownList)e.Row.FindControl("DropDownList1");
    39 if (dr != null)
    40 {
    41 SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
    42 SqlCommand cmd = new SqlCommand("Select distinct City from Customers", con);
    43 SqlDataAdapter da = new SqlDataAdapter(cmd);
    44 DataSet ds = new DataSet();
    45 da.Fill(ds);
    46 dr.DataSource = ds.Tables[0];
    47 dr.DataTextField = "City";
    48 dr.DataValueField = "City";
    49 dr.DataBind();
    50 dr.SelectedItem.Text = this.GridView1.DataKeys[e.Row.RowIndex].Values[1].ToString();
    51 }
    52 }
    53 }
    54 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    55 {
    56 SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
    57 SqlCommand cmd = new SqlCommand("Update Customers set CompanyName=@CompanyName,ContactName=@ContactName,City=@City where CustomerID=@CustomerID", con);
    58 SqlParameter[] ps = new SqlParameter[4];
    59 ps[0] = new SqlParameter("@CompanyName",SqlDbType.NVarChar,40);
    60 ps[1] = new SqlParameter("@ContactName",SqlDbType.NVarChar,30);
    61 ps[2] = new SqlParameter("@City",SqlDbType.NVarChar,15);
    62 ps[3] = new SqlParameter("@CustomerID",SqlDbType.NChar,5);
    63 ps[0].Value = ((TextBox)this.GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text.Trim();
    64 ps[1].Value = ((TextBox)this.GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text.Trim();
    65 ps[2].Value = ((DropDownList)this.GridView1.Rows[e.RowIndex].FindControl("DropDownList1")).SelectedItem.Text;
    66 ps[3].Value = this.GridView1.DataKeys[e.RowIndex].Values[0];
    67 cmd.Parameters.AddRange(ps);
    68 if (con.State == ConnectionState.Closed)
    69 {
    70 con.Open();
    71 }
    72 cmd.ExecuteNonQuery();
    73 this.GridView1.EditIndex = -1;
    74 databind();
    75 }

    怀揣着一点点梦想的年轻人
    相信技术和创新的力量
    喜欢快速反应的工作节奏
  • 相关阅读:
    LINUX挂接移动硬盘
    LINUX挂接光盘镜像文件
    Parted:2T以上磁盘分区工具(LINUX挂载2T以上磁盘)
    LINUX文件系统操作命令
    linux 文件类型的颜色
    LINUX常用操作命令和命令行编辑快捷键
    telnet- Linux必学的60个命令
    Netstat- Linux必学的60个命令
    linux服务之maven
    PHP 设计模式 笔记与总结(4)PHP 链式操作的实现
  • 原文地址:https://www.cnblogs.com/hfliyi/p/1982695.html
Copyright © 2011-2022 走看看