私は現在、Student Tableからのデータを表示するGridViewを持っています。これが私のグリッドと関連するSQLDataSourceです。
<asp:GridView ID="GridView2"
style="position:absolute; top: 232px; left: 311px;"
AutoGenerateColumns="false" runat="server"
DataSourceID="SqlDataSource4">
<Columns>
<asp:TemplateField>
<ItemTemplate >
<asp:CheckBox runat="server" ID="AttendanceCheckBox" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="studentIDLabel" Text='<%# Eval("StudentID") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
ConnectionString="<%$ ConnectionStrings:RegisterConnectionString %>"
SelectCommand="SELECT [StudentID], [Name] FROM [Student] WHERE CourseID = @CourseID ">
<SelectParameters>
<asp:ControlParameter ControlID="CourseDropDownList" Name="CourseID"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
ページにボタンがあり、ユーザーがボタンをクリックすると、GridViewの各行をループし、CheckBoxを見つけて、チェックボックスがオンになっているかどうかを確認する必要があります。チェックボックスがオンの場合、ラベルテンプレートフィールドの値をデータベースの別のテーブルに追加する必要があります。 C#コードを使用しています。どんな助けでも大歓迎です、事前に感謝します!
ループのような
foreach (GridViewRow row in grid.Rows)
{
if (((CheckBox)row.FindControl("chkboxid")).Checked)
{
//read the label
}
}
gridview行を反復する必要があります
for (int count = 0; count < grd.Rows.Count; count++)
{
if (((CheckBox)grd.Rows[count].FindControl("yourCheckboxID")).Checked)
{
((Label)grd.Rows[count].FindControl("labelID")).Text
}
}