3

我想创建分组复选框列表,如下所示:

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

这里 Group# 和 item# 是复选框。有谁知道如何在 asp.net 中执行此操作。我正在从 DataSet 获取数据。一个限制是我不允许使用第三方工具/控件或 jQuery。

非常感谢,

4

1 回答 1

5

使用转发器(或嵌套转发器)为行为生成布局和 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;
  }
}

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

于 2011-03-11T08:26:56.963 回答