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

ASP.NET
实现HtmlButton客户端控制网页提交
开发手记(三)
开发手记(二)
开发手记(一)
.net中PictureBox中图片的拖动
使用ADO.NET轻松操纵数据库
vb.net 中实现画图
C#中使用DirectX编程
LZW算法的 C#实现
在.NET上如何根据字符串动态创建控件
asp.net生成HTML
ASP.NET 2.0页面框架的几处变化
解读C#中的规则表达式
使DATAGRID中的日期按长日期格式显示
application和cache实现缓存的差异
.Net 下区别使用 ByRef/ByVal 的重要性
拷贝整个目录下所有子目录及文件的方法
Asp.net 页面导航的几种方法与比较
VB6 中 善用 ByRef 提升速度
如何使用.net操作ddeml?

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 46 ::
收藏到网摘: 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