asp.net分组(嵌套)复选框列表

时间:2011-03-11 08:09:21

标签: asp.net nested-checkboxes

我想按如下方式创建分组复选框列表:

[]Group1
  [] Item1
  [] Item2
[]Group2
  []Item1
  []Item2
  []Item3

这里的Group#和item#是复选框。有没有人知道如何在asp.net中这样做。我从DataSet获取数据。一个限制是我不允许使用第三方工具/控件或jQuery。

非常感谢,

1 个答案:

答案 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;
  }
}

免责声明:未经测试的代码只是为了提供方法的提示/想法