如何在gridview中获取复选框的复选框状态? 我已经以编程方式添加了它们,
foreach (GridViewRow gvr in GridView1.Rows)
{
tbCell = new TableCell();
cbGV = new CheckBox();
tbCell.Controls.Add(cbGV);
gvr.Cells.Add(tbCell);
{
通常情况下,当他们在itemtemplate中时,我会得到像这样(下面)的复选框的状态,但是这不起作用,所以任何想法的人?
foreach (GridViewRow getRowItems in GridView1.Rows)
{
chkBox = (CheckBox)(getRowItems.Cells[0].FindControl("cbGV"));
if(chkBox.Checked == false)
{
chkBox.Checked = true;
}
}
答案 0 :(得分:3)
尝试添加这样的复选框,即作为模板列,而不是尝试搜索这也可以工作,而不是动态添加复选框
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cbGV" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是行不通的,因为你忘了给元素
提供idcbGV = new CheckBox();
cbGV.ID="cbGV";
tbCell.Controls.Add(cbGV);
尝试按上述方式提供ID,然后尝试在行中找到复选框
答案 1 :(得分:0)
foreach (GridViewRow gvr in GridView1.Rows)
{
tbCell = new TableCell();
cbGV = new CheckBox();
cdGV.id="cbGV";
tbCell.Controls.Add(cbGV);
gvr.Cells.Add(tbCell);
}
foreach (GridViewRow getRowItems in GridView1.Rows)
{
chkBox = (CheckBox)(getRowItems.Cells[0].FindControl("cbGV"));
if(chkBox.Checked == false)
{
chkBox.Checked = true;
}
}