WEB开发网
开发学院WEB开发ASP.NET 如何在GridView中一次性批量更新多行数据 阅读

如何在GridView中一次性批量更新多行数据

 2006-11-18 17:16:16 来源:WEB开发网   
核心提示:假定有一个PRoduct表,字段有(Id,Name,Quantity,...)我们要一次批量更新Quantity的值 首先在Gridview中,如何在GridView中一次性批量更新多行数据,Quantity列以TemplateField显示,其他的列属性设为只读,把显示格式设为TextBox<asp:Temp

假定有一个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.cnblogs.com/timone/archive/2006/11/17/564171.html

Tags:如何 GridView 一次性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接