Вложение GridView в Repeater - PullRequest
       45

Вложение GridView в Repeater

2 голосов
/ 09 сентября 2008

У меня есть сценарий, в котором, например, мне нужно повторить список штатов США и отобразить таблицу городов и населенных пунктов города после названия каждого штата. Проектное требование диктует, что каждое внешнее повторение должно быть именем государства, за которым следует таблица городов, и это требование не может быть изменено в это время. Есть ли недостатки для вложения GridView в Repeater, а затем связывания каждого повторного GridView во время события ItemDataBound Repeater? Какие есть альтернативные решения?

Ответы [ 4 ]

2 голосов
/ 09 сентября 2008

Если бы это был я, я бы перевернул вопрос и спросил, почему мне следует использовать GridView. Если вам нужна куча встроенных функций, таких как разбиение на страницы и сортировка, то GridView может быть хорошо подходит. Если вы просто хотите табличные данные, я бы пересмотрел. Зачем? Поскольку с GridView вы получаете целую кучу вещей, которые вы не будете использовать, ваш ViewState будет потенциально огромным, а производительность вашей страницы будет ниже.

Я не фанатик, когда дело доходит до GridView, но я использую их только тогда, когда есть чертовски веская причина.

1 голос
/ 09 сентября 2008

Лучшее решение, которое я смог придумать, - это вставить GridView в репитер. Затем я связал каждый повторяющийся GridView во время события ItemDataBound Повторителя. Конечно, я отключил их ViewStates, так как они не требовались.

1 голос
/ 09 сентября 2008

По крайней мере, мы надеемся, что вы можете отключить ViewState на GridViews.

1 голос
/ 09 сентября 2008

В вышеприведенном сценарии вам лучше использовать GridView в стиле мастер-детали, который сэкономит вам накладные расходы на все те объекты GridView, которые создаются.

Существуют различные варианты его реализации ( с использованием раскрывающегося списка для мастера , с использованием модального всплывающего окна для детализации и т. Д.), Но суть в том, что есть Доступные реализации.

...