我目前有一个显示学生表数据的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#Code。 非常感谢任何帮助,提前感谢!
答案 0 :(得分:35)
循环
foreach (GridViewRow row in grid.Rows)
{
if (((CheckBox)row.FindControl("chkboxid")).Checked)
{
//read the label
}
}
答案 1 :(得分:2)
你必须迭代gridview Rows
for (int count = 0; count < grd.Rows.Count; count++)
{
if (((CheckBox)grd.Rows[count].FindControl("yourCheckboxID")).Checked)
{
((Label)grd.Rows[count].FindControl("labelID")).Text
}
}