程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 如何在GridView中一次性批量更新多行數據

如何在GridView中一次性批量更新多行數據

編輯:.NET實例教程

假定有一個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();
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved