zoukankan      html  css  js  c++  java
  • Gridview中RowCommand事件的应用

    一直不喜欢用Gridview,可是任务说明要用Gridview的RowCommand事件,

    把代码整理如下:

    View Code
    1 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    2 {
    3 if (e.CommandName == "Up")
    4 {
    5 string[] skey = e.CommandArgument.ToString().Split(',');
    6
    7 SqlConnection con = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=Northwind;Integrated Security=True");
    8 SqlCommand cmd = new SqlCommand();
    9 cmd.Connection = con;
    10 cmd.CommandText = "update Customers set CompanyName=@CompanyName,ContactName=@ContactName,ContactTitle=@ContactTitle where id =@id";
    11 SqlParameter[] sp = new SqlParameter[4];
    12 sp[0] = new SqlParameter("@CompanyName", SqlDbType.NVarChar, 40);
    13 sp[1] = new SqlParameter("@ContactName", SqlDbType.NVarChar, 30);
    14 sp[2] = new SqlParameter("@ContactTitle", SqlDbType.NVarChar, 30);
    15 sp[3] = new SqlParameter("@id", SqlDbType.UniqueIdentifier);
    16 sp[0].Value = ((TextBox)this.GridView1.Rows[int.Parse(skey[0])].FindControl("TextBox2")).Text.Trim();
    17 sp[1].Value = ((TextBox)this.GridView1.Rows[int.Parse(skey[0])].FindControl("TextBox3")).Text.Trim();
    18 sp[2].Value = ((TextBox)this.GridView1.Rows[int.Parse(skey[0])].FindControl("TextBox4")).Text.Trim();
    19 sp[3].Value = new Guid(skey[1]);
    20 cmd.Parameters.AddRange(sp);
    21 if (con.State == ConnectionState.Closed)
    22 {
    23 con.Open();
    24 }
    25 int i = cmd.ExecuteNonQuery();
    26 if (i == 1)
    27 {
    28 Page.RegisterStartupScript("", "<script language=javascript>alert('修改成功!');location='default2.aspx'</script>");
    29 }
    30 else
    31 {
    32 Page.RegisterStartupScript("", "<script language=javascript>alert('修改失败!');location='default2.aspx'</script>");
    33 }
    34 this.GridView1.EditIndex = -1;
    35
    36 }
    37 if (e.CommandName == "Ca")
    38 {
    39
    40 this.GridView1.EditIndex = -1;
    41
    42 }
    43 if (e.CommandName == "Ed")
    44 {
    45 this.GridView1.EditIndex = int.Parse(e.CommandArgument.ToString());
    46 }
    47 bind();
    48 }

    前台:

    View Code
    1 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
    2 BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" OnRowCommand="GridView1_RowCommand">
    3 <Columns>
    4 <asp:TemplateField HeaderText="姓名">
    5 <ItemTemplate>
    6 <%#Eval("CustomerID") %>
    7 </ItemTemplate>
    8 <EditItemTemplate>
    9 <%#Eval("CustomerID") %>
    10 </EditItemTemplate>
    11 </asp:TemplateField>
    12 <asp:TemplateField HeaderText="公司">
    13 <ItemTemplate>
    14 <%#Eval("CompanyName") %>
    15 </ItemTemplate>
    16 <EditItemTemplate>
    17 <asp:TextBox ID="TextBox2" runat="server" Text='<%#Eval("CompanyName") %>'></asp:TextBox>
    18 </EditItemTemplate>
    19 </asp:TemplateField>
    20 <asp:TemplateField HeaderText="联系人">
    21 <ItemTemplate>
    22 <%#Eval("ContactName") %>
    23 </ItemTemplate>
    24 <EditItemTemplate>
    25 <asp:TextBox ID="TextBox3" runat="server" Text='<%#Eval("ContactName") %>'></asp:TextBox>
    26 </EditItemTemplate>
    27 </asp:TemplateField>
    28 <asp:TemplateField HeaderText="职务">
    29 <ItemTemplate>
    30 <%#Eval("ContactTitle") %>
    31 </ItemTemplate>
    32 <EditItemTemplate>
    33 <asp:TextBox ID="TextBox4" runat="server" Text='<%#Eval("ContactTitle") %>'></asp:TextBox>
    34 </EditItemTemplate>
    35 </asp:TemplateField>
    36 <asp:TemplateField HeaderText="操作">
    37 <ItemTemplate>
    38 <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Ed" CommandArgument='<%#GridView1.Rows.Count.ToString() %>'>修改</asp:LinkButton>
    39 </ItemTemplate>
    40 <EditItemTemplate>
    41 <asp:LinkButton ID="LinkButton2" runat="server" CommandName="Up" CommandArgument='<%#GridView1.Rows.Count.ToString()+","+Eval("id") %>'>修改</asp:LinkButton>
    42 <asp:LinkButton ID="LinkButton3" runat="server" CommandName="Ca" CommandArgument='<%#GridView1.Rows.Count.ToString() %>'>取消</asp:LinkButton>
    43 </EditItemTemplate>
    44 </asp:TemplateField>
    45 </Columns>
    46 <FooterStyle BackColor="White" ForeColor="#000066" />
    47 <RowStyle ForeColor="#000066" />
    48 <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
    49 <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
    50 <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
    51 </asp:GridView>
  • 相关阅读:
    MySQL与PostgreSQL比较 哪个数据库更好
    Laravel 精选资源大全
    laravel-admin 安装(总结)
    MySQL索引及查询优化总结
    编写高质量的JavaScript代码(一)
    当谈 SQL 优化时谈些什么?
    JavaScriptCore全面解析 (下篇)
    页面性能优化的利器 — Timeline
    Python 操作 MySQL 的正确姿势
    一个只有99行代码的JS流程框架(二)
  • 原文地址:https://www.cnblogs.com/hfliyi/p/2050164.html
Copyright © 2011-2022 走看看