asp.net で、datagrid 内のすべてのレコードを一度に更新するにはどうすればよいですか?まず、次の方法を使用できます。
DATAGRID で更新する列のテンプレート列を作成します。次に例を示します。
asp:datagrid id="dg PopularFAQs" runat="サーバー"
AutoGenerateColumns="False"
...>
<コラム>
<asp:BoundColumn DataField="FAQID" itemStyle-Width="10%"
ItemStyle-horizontalAlign="Center" HeaderText="FAQ ID" />
<asp:BoundColumn DataField="CategoryName" HeaderText="Category" />
<asp:TemplateColumn HeaderText="質問">
<アイテムテンプレート>
<asp:TextBox runat="server" id="txtDescription" Columns="75"
Text='<%# Container.DataItem("説明") %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="提出者">
<アイテムテンプレート>
<asp:TextBox runat="server" id="txtSubmittedBy"
Text='<%# Container.DataItem("SubmittedByName") %>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
その後、DATAGRID の走査を実行します。
myConnection を新しい SqlConnection(接続文字列) として薄暗くする
Dim myCommand を New SqlCommand(strSQL, myConnection) として
Dim dgi as DataGridItem
dg PopularFAQs.Items の各 dgi について
'主キーフィールドを読み取る
Dim id as Integer = Convert.ToInt32(dg PopularFAQs.DataKeys(dgi.ItemIndex))
String = CType(dgi.FindControl("txtDescription"), TextBox).Text としての暗い質問
Dim submitBy as String = CType(dgi.FindControl("txtSubmittedBy"), TextBox).Text
'UPDATE ステートメントを発行します...
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", submitBy)
myCommand.ExecuteNonQuery()
次