asp.net список сгруппированных (вложенных) флажков - PullRequest
3 голосов
/ 11 марта 2011

Я хочу создать список сгруппированных флажков следующим образом:

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

Здесь Group # и item # являются флажками.Кто-нибудь знает, как это сделать в asp.net.Я получаю данные из DataSet.Одним из ограничений является то, что мне запрещено использовать сторонние инструменты / элементы управления или jQuery.

Большое спасибо,

1 Ответ

5 голосов
/ 11 марта 2011

Используйте повторитель (или вложенные повторители), чтобы сгенерировать макет и java-скрипт для поведения. Например, предположим, что в вашем наборе данных есть две таблицы - Группы и Элементы и существует связь внешнего ключа между таблицами с именем «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;
  }
}

Отказ от ответственности: непроверенный код только для того, чтобы дать подсказку / идею подхода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...