zoukankan      html  css  js  c++  java
  • 如何在GridView中一次性批量更新多行数据

    假定有一个Product表,字段有(Id,Name,Quantity,...)我们要一次批量更新Quantity的值
        首先在Gridview中,Quantity列以TemplateField显示,其他的列属性设为只读,把显示格式设为TextBox
    <asp:TemplateField HeaderText="Quantity">
      <ItemTemplate>
        <asp:TextBox ID="editQuantity" runat="server" CssClass="GridEditingRow"
                     Width="24px" MaxLength="2" Text='<%#Eval("Quantity")%>' />
      </ItemTemplate>
    </asp:TemplateField>
       在GridView下面添加一个Button控件,定义onclick方法为updateButton_Click
       最后updateButton_Click代码为:

    protected void updateButton_Click(object sender, EventArgs e)
    {
      int rowsCount = grid.Rows.Count;

      GridViewRow gridRow;

      TextBox quantityTextBox;

      string productId;

      int quantity;

      bool success = true;
      // 遍历GridView中的每一行
      for (int i = 0; i < rowsCount; i++)
      {
        // 获行当前行
        gridRow = grid.Rows[i];
        // 通过DATAKEYS来取行没显示出来的ID号
        Id = grid.DataKeys[i].Value.ToString();
        //
        quantityTextBox = (TextBox)gridRow.FindControl("editQuantity");
        // 转换为整形,如果输入的是非法字符Int32.TryParse返回FALSE
        if (Int32.TryParse(quantityTextBox.Text, out quantity))
        {
          // 调用业务层的方法更新数据
          success = success && BLL.UpdateItem(Id, quantity);
        }
        else
        {
          // 更新失败
          success = false;
        }
        // 显示信息
        statusLabel.Text = success ?
          "<br />更新成功!<br />" :
          "<br />更新失败!<br />";
      }
      // 重新绑定GridVIEW
      PopulateGridView();
    }


    资料引用:http://www.knowsky.com/341322.html

  • 相关阅读:
    如何让create-react-app锦上添花,满足实际需求?
    《漫画算法》笔记-下篇
    《漫画算法》笔记-上篇
    react + typescript 学习
    node http 模块 常用知识点记录
    vue 相关技术文章集锦
    读后感:数据结构与算法JavaScript描述
    css 揭秘-读书笔记
    vue-textarea 自适应高度
    消除浏览器对input的自动填充
  • 原文地址:https://www.cnblogs.com/lzhdim/p/1366120.html
Copyright © 2011-2022 走看看