我尝试创建附加到按钮的事件,以遍历网格视图的每一行,将选中的值更改为true。怎么做到这一点,一旦我点击这个按钮,它标记每一件事都是真的?
这是我开始使用的代码:
foreach (GridViewRow row in GridView1.Rows)
{
//I get stuck at this part
row.Cells[9].FindControl("Overwrite")
}
答案 0 :(得分:2)
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox b = row.Cells[9].FindControl("Overwrite") as CheckBox;
b.Checked = true;
}
答案 1 :(得分:1)
在GridView
标记中,如果您使用TemplateField
来保留CheckBox
控件,那么您可以编写更简单的FindControl
代码来实际找到TextBox
控制,像这样:
<asp:GridView ID="GridView1" runat="server" Visible="False">
<Columns>
<asp:TemplateField HeaderText="Action Item">
<ItemTemplate>
<asp:CheckBox ID="Overwrite" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
现在在您的代码隐藏中,您可以执行此操作:
foreach (GridViewRow row in GridView1.Rows)
{
// Only check data rows, ignoring header or footer rows
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox b = row.FindControl("Overwrite") as CheckBox;
if(b != null)
{
b.Checked = true;
}
}
}
注意:您不再需要Cells
索引,因为FindControl
可以搜索整行,查找名为Overwrite
的控件。
答案 2 :(得分:-1)
<div class="form-group" style="display:flex; justify-content:center">
<button class="btn btn-lg btn-primary mb-3" type="submit">Sign in</button>
<div class="custom-control custom-checkbox">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck1" checked="">
<label class="custom-control-label" for="customCheck1">Remember me</label>
</div>
</div>
</div>
这是由样式组成的示例HTML。您可以像这样使用它/这不是该问题的答案