ASP.NET — иерархическое представление сетки

Любые идеи о том, как я могу получить «иерархический» вид сетки? В основном я хочу, когда пользователь нажимает «+», я «расширяю» и вставляю новые строки без полной публикации страницы.

Звучит как много вещей AJAX? Или я должен читать на ASP.NET MVC

Пожалуйста, укажите мне правильное направление


person Julius A    schedule 17.11.2008    source источник


Ответы (4)


Другой способ сделать это — старый вид сетки внутри трюка представления сетки. Основная концепция заключается в том, чтобы иметь [+] и родительские данные в качестве данных элемента в одном шаблонном столбце. Прикрепите событие нажатия кнопки и установите сетку в режим редактирования/выбора. когда он находится в режиме редактирования, визуализируйте второе представление сетки с дочерними данными. Несмотря на то, что это вид сетки внутри вида сетки, визуально он обеспечивает «иерархический» вид.

person Ta01    schedule 17.11.2008

Пример исходного кода для Hierarchical GridView с [-] и [ +] свернуть и развернуть, как в VB6 Hierarchical Grid

person Pon Saravanan    schedule 26.09.2010

У вас есть два варианта, я полагаю:

  • Вы можете отображать те строки, которые хотите вставить, а [+] показывает их и скрывает.
  • Вы их не рендерите, а они через AJAX отправляются в браузер, а потом вставляются в таблицу.

Я сделал это обоими способами, и, на мой взгляд, более удобный способ сделать это с помощью сетки. Вы можете создать новое поле шаблона для [+]; определите имя дочерней связи, а затем вызовите GetChildRows (или эквивалент) для каждой строки при рендеринге, при этом эти строки рендерятся скрытыми.

person Tom Ritter    schedule 17.11.2008

@bnkdev - GridView внутри GridView звучит как полный беспорядок.

@Jandwenyi - я полагаю, вы делаете это для определенного сценария, и вам нужно будет повторно использовать его в какой-то момент, как бы маловероятно это ни казалось сейчас. Мое предложение — найдите сторонний элемент управления Grid, который будет делать то, что вы хотите — их так много.

person Slavo    schedule 17.11.2008
comment
+1 за покупку контроля. Сколько будет стоить (с точки зрения вашего времени/скорости) его эффективное изготовление по сравнению со стоимостью его покупки? И так много хороших вариантов в мире .NET... - person John Rudy; 17.11.2008
comment
@ Slavo - на самом деле это не беспорядок, я делал это с .NET 1.0. Не стучите, пока не попробуете. - person Ta01; 17.11.2008