[英]Get ID from each EditItemTemplate from a Gridview
我有很多列和行的gridview。 我需要从gridview获取每个模板字段的复选框状态。
我知道我可以通过获得每个人来实现:
CheckBox cbTrans = (CheckBox)gvStations.Rows[rowindex].FindControl("cbTaxEdit");
CheckBox cbReg = (CheckBox)gvStations.Rows[rowindex].FindControl("cbRegEdit");
如果我有20个模板字段,那么如何一次获得所有这些模板字段。 我的想法是在for循环中一次获取一个,并对每个复选框执行一次操作。
//Something along this lines but I know I can't use J here
for (int i = 0; i <= this.gvStations.Rows.Count - 1; i++)
{
for (int j = 0; j <= this.gvSta.Columns.Count - 1; j++)
{
//I WANT TO GO THRU EACH COLUMN, J can't be used here, throws error
CheckBox cbox = (CheckBox)gvStations.Rows[i].FindControl(j);
if(cbox.Checked)
{
//Perform Operation
}
}
}
网格视图
<asp:TemplateField HeaderText="TAX" SortExpression="Taxes">
<EditItemTemplate>
<asp:CheckBox ID="cbTaxEdit" runat="server" Checked='<%# (int)Eval("Taxes") == 1 %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbTax" runat="server" Enabled="false" Checked='<%# (int)Eval("Taxes") == 1 %>'>
</asp:CheckBox>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<%--Registrations--%>
<asp:TemplateField HeaderText="REG" SortExpression="Registrations">
<EditItemTemplate>
<asp:CheckBox ID="cbRegEdit" runat="server" Checked='<%# (int)Eval("Registrations") == 1 %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbReg" runat="server" Enabled="false" Checked='<%# (int)Eval("Registrations") == 1 %>'>
</asp:CheckBox>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="BTRColumn" SortExpression="BTR">
<EditItemTemplate>
<asp:CheckBox ID="cbBTREdit" runat="server" Checked='<%# (int)Eval("BTR") == 1 %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbBTR" runat="server" Enabled="false" Checked='<%# (int)Eval("BTR") == 1 %>'>
</asp:CheckBox>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
发表它作为评论,但打算发布它作为答案哈哈! 辛苦了一天。
我将遍历复选框并在列表中收集它们的ID。 让呼叫列表为“ CheckBoxID”。 然后,我将执行以下操作:CheckBox cbox =(CheckBox)gvStations.Rows [i] .FindControl(CheckBoxIDs [j]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.