我想按如下方式创建分组复选框列表:
[]Group1
[] Item1
[] Item2
[]Group2
[]Item1
[]Item2
[]Item3
这里的Group#和item#是复选框。有没有人知道如何在asp.net中这样做。我从DataSet获取数据。一个限制是我不允许使用第三方工具/控件或jQuery。
非常感谢,
答案 0 :(得分:5)
使用转发器(或嵌套转发器)为beahavior生成布局和java脚本。例如,假设您的数据集有两个表 - Groups和Items,并且名为“FK_Groups_Items”的表之间存在外键关系。然后你可以转发,如
<ol>
<asp:Repeater ID="Groups" runat="server">
<itemtemplate>
<ul>
<asp:CheckBox runat="server" ID="Group" Text="'<%# Eval("Name") %>'" Value='<%# Eval("Value") %>' onclick="OnGroupClick">
<p class="nested">
<asp:CheckBoxList runat="server" ID="Items" DataSource='<%# ((DataRowView)Container.DataItem).CreateChildView("FK_Groups_Items") %>'> DataValueField="Value" DataTextField="Name" />
</p>
</ul>
</itemtemplate>
</asp:Repeater>
</ol>
并跟随js函数
function OnGroupClick(group) {
for(item in group.getElementsByTagName('input')) {
item.checked = group.checked;
}
}
免责声明:未经测试的代码只是为了提供方法的提示/想法