当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP中一次更新DATAGRID中所有记录

ASP.NET
asp.net 使用Silverlight操作ASPNETDB数据库
ASP.NET 前后台调用方法
ASP.NET中等安全模式的一些经验分享
asp.net 打印控件使用方法
网站开发技术:ASP.NET 2.0搭建网站
ASP.NET实例教程:创建数据透视表
ASP.NET 4进行SEO优化提高网站排名和权重
ASP.NET实例教程:订阅 GeoRSS 订阅源
ASP.NET页面间数据传递的9种方法
ASP.NET教程:网页表单多个按钮完成不同功能
Asp.net的服务器推技术 (Server Push)
asp.net 无刷新附件上传实现方法
ASP.NET 定制简单的错误处理页面实现代码
c# 在WebBrowser中用SendMessage模拟鼠标点击
asp.net 表单验证新思路
.NET从优酷专辑中采集所有视频及信息(VB.NET代码)
VS2005 水晶报表在时部署时遇到的问题
ASP.NET 输出图片简单代码
一天精通asp.net的学习经验小结
DataGridView中绑定DataTable数据及相关操作实现代码

ASP.NET 中的 ASP中一次更新DATAGRID中所有记录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 85 ::
收藏到网摘: n/a

在asp.net中,如何一次性更新datagrid中的所有记录呢?可以用如下的方法,首先,
  要对DATAGRID中要更新的列建立模版列,比如:


asp:datagrid id="dgPopularFAQs" runat="server"
  AutoGenerateColumns="False"
  ...>

  <Columns>
  <asp:BoundColumn DataField="FAQID" ItemStyle-Width="10%"
  ItemStyle-HorizontalAlign="Center" HeaderText="FAQ ID" />

  <asp:BoundColumn DataField="CategoryName" HeaderText="Category" />
  
  <asp:TemplateColumn HeaderText="Question">
  <ItemTemplate>
  <asp:TextBox runat="server" id="txtDescription" Columns="75"
  Text='<%# Container.DataItem("Description") %>' />
  </ItemTemplate>
  </asp:TemplateColumn>
  
  <asp:TemplateColumn HeaderText="Submitted By">
  <ItemTemplate>
  <asp:TextBox runat="server" id="txtSubmittedBy"
  Text='<%# Container.DataItem("SubmittedByName") %>' />
  </ItemTemplate>
  </asp:TemplateColumn>

  </Columns>
  </asp:datagrid>
  之后,对DATAGRID进行一次遍历,
  Dim myConnection as New SqlConnection(connection string)
  Dim myCommand as New SqlCommand(strSQL, myConnection)

  Dim dgi as DataGridItem
  For Each dgi in dgPopularFAQs.Items
  'Read in the Primary Key Field
  Dim id as Integer = Convert.ToInt32(dgPopularFAQs.DataKeys(dgi.ItemIndex))
  Dim question as String = CType(dgi.FindControl("txtDescription"), TextBox).Text
  Dim submittedBy as String = CType(dgi.FindControl("txtSubmittedBy"), TextBox).Text
  
  'Issue an UPDATE statement...
  Dim updateSQL as String = "UPDATE TableName SET Question = @Question, " & _
  "SubmittedByName = @SubmittedByName WHERE FAQID = @ID"
  myCommand.Parameters.Clear()
  myCommand.Parameters.Add("@Question", question)
  myCommand.Parameters.Add("@SubmittedByName", submittedBy)
  
  myCommand.ExecuteNonQuery()
  Next