ASP.net 2.0 Gridview с расширяющимися строками панели - как создать панель «на лету»

StackOverflow https://stackoverflow.com/questions/306920

Вопрос

В настоящее время я создаю Gridview с расширяемыми строками. Каждая строка содержит динамически созданные элементы панели формы. Прямо сейчас у меня есть функция javascript, которая расширяет (или в моем случае делает видимой) панель при щелчке по изображению в строке Gridview.

Мой вопрос ... есть ли более эффективный способ сделать это. Вместо того, чтобы извлекать все мои данные для начала и создавать каждую новую строку по мере того, как я привязываю данные, есть ли способ просто создать строку с панелью, заполненной текстовыми полями и выпадающими списками, на лету, когда пользователь нажимает кнопку «Развернуть»? & Quot;

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

Это было полезно?

Решение 4

На самом деле это недавно было обработчиком AJAX, возвращающим структуру формы. Это по требованию, и работает хорошо. Просто вызовите $ ajax через jQuery, верните структуру HTML, вставьте в DIV. Это немного ограничивает реальную функциональность, поэтому будьте осторожны.

Другие советы

На самом деле, он не работает плохо, так как мой исходный запрос SQL может заполнять каждую строку, и я включил подкачку в Gridview. Мне просто интересно, могут ли они быть построены на лету, используя PageMethods или какое-то решение JSON / AJAX. Я ничего не видел, но ... стоит попытаться найти его.

вы можете переопределить событие RowdataBound, а затем добавить любые необходимые элементы управления в зависимости от того, какие данные поступают в ячейку.

http: // msdn .microsoft.com / EN-US / библиотека / system.web.ui.webcontrols.gridview.rowdatabound.aspx

Личная попытка создать данные на лету, скорее всего, приведет к замедлению работы пользователя.

Когда я делаю то, что вы описываете, я обычно использую Repeaters, таким образом я могу создавать макет шаблона, который просто сразу определяет все необходимые элементы и обрабатывает действия привязки.

В противном случае, я бы предположил, что ваш путь не работает слишком медленно, как есть.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top