搜索文章:

首页  |  Java技术  |  Asp.net  |  Asp编程  |  VC/C++  |  Delphi  |  VB编程

asp.net 中一次性更新DATAGRID中所有记录

作者: unknow
在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

相关文章:
© 2006   www.java-asp.net