これはGridViewのデザインです。ネストされたグリッドビューでのチェックボックスの操作
<asp:GridView ID="gmainrole" runat="server" OnRowDataBound="gmainrole_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<input type="checkbox" id="chkavail" runat="server" checked='<%#Eval("checkstatus") %>' />
<asp:Literal ID="litstate" runat="server" Text='<%#Eval("areaname") %>'></asp:Literal>
<asp:Literal ID="lituserrole" runat="server" Text='<%#Eval("nid") %>' Visible="false"></asp:Literal>
<asp:GridView ID="subrole" runat="server" AutoGenerateColumns="false" OnRowDataBound="subrole_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chk1vail" runat="server" Checked='<%#Eval("checkstatus") %>' />
<asp:Literal ID="litstate" runat="server" Text='<%#Eval("areaname") %>'></asp:Literal>
<asp:Literal ID="lituserrole" runat="server" Text='<%#Eval("nid") %>' Visible="false"></asp:Literal>
<asp:DataList ID="glastrole" runat="server" GridLines="None" AutoGenerateColumns="false" OnItemDataBound="glastrole_ItemDataBound">
<ItemTemplate>
<div>
<asp:CheckBoxList runat="server" ID="chklastrole">
</asp:CheckBoxList>
<asp:Literal ID="Literal1" runat="server" Text='<%#Eval("areaname") %>'></asp:Literal>
<asp:Literal ID="litlast" runat="server" Text='<%#Eval("nid") %>' Visible="false"></asp:Literal>
<asp:DataList ID="ecounter" runat="server" GridLines="None" AutoGenerateColumns="false">
<ItemTemplate>
<asp:CheckBoxList runat="server" ID="chklastrole">
</asp:CheckBoxList>
<asp:Literal ID="Literal11" runat="server" Text='<%#Eval("areaname") %>'></asp:Literal>
<asp:Literal ID="litlast1" runat="server" Text='<%#Eval("nid") %>' Visible="false"></asp:Literal>
</ItemTemplate>
</asp:DataList>
</div>
</ItemTemplate>
</asp:DataList>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
このGridViewは、下位2つのレベルがDataListsで、上位2つのレベルがGridViewsである4つのレベルのネストされたGridViewです。ユーザーがsubrole
(レベル2)という名前の2番目のGridView内のCheckBoxをチェックすると、DataList glastrole
(レベル3)およびDataList ecounter
(レベル4)のすべての後続チェックボックスが、その特定のレベル2チェックボックスに対してCheckBoxesをチェックします。私は今まで試みてきたコードをあなたに渡しますが、実際にはこの問題にどのように接近するのかさえ分かりません。助けてください!