разбиение таблиц на основе jquery с поддержкой встроенного редактирования - PullRequest
0 голосов
/ 29 марта 2012

Это может быть просто для кого-то, кто уже сделал нечто подобное.

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

Теперь у меня есть рабочая версия такой редактируемой сетки в моем ASP.Net MVC2. проектируемый. Далее я хочу иметь сортировку, разбиение на страницы и фильтр с использованием jQuery на стороне клиента (вы можете предположить, что я рендеринг всей сетки с много записей). Я могу легко сделать это с помощью серверного кодирования и визуализировать только одну страницу Grid, но пока подумайте, что я хочу сделать это на клиенте сторона.

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

Например, в этой таблице статус флажка либо не сохраняется через нумерацию страниц:

enter image description here

Надеюсь, кто-то прошел через это и поможет мне. Мы стараемся, чтобы все было просто и чисто.

Плагины пробовали:

Ответы [ 3 ]

1 голос
/ 31 марта 2012

Я написал анализатор флажков для TableSorter, который позволяет вам сортировать столбец флажков.

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

Проверьте демо здесь , просто скопируйте код парсера и попробуйте его вместе с плагином пейджера.

Редактировать: К сожалению, я забыл, что для этого потребуется последняя версия TableSorter из этого форка на github.Причина в том, что оригинальный сортировщик таблиц не передает все дополнительные переменные в функцию форматирования: format: function(s, table, cell, cellIndex) {}

1 голос
/ 29 марта 2012

Взгляните на эту статью: http://roberto.open -lab.com / 2010/01/30 / javascript-grid-editor-i-want-to-excel /

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

Я большой поклонник DataTables, но я не использовал его дляконкретный сценарий, который вы описываете.

0 голосов
/ 30 марта 2012

Основываясь на нескольких популярных плагинах, которые я рассмотрел, и базовом понимании (более или менее) того, как они могли бы добиться нумерации страниц на стороне клиента, я понял, что большинство из них -

Кэшировать строки таблицы в переменной.И они очищают 'TBODY' перед поиском по страницам или поиском и пополняют его результатом.

Итак, во время обратной передачи я получаю только количество «заправленных» строк, а не фактическую таблицу.По крайней мере, это то, что мне показали мои действия с MVC.И иногда это было пусто!

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

РЕШЕНИЕ: На данный момент я должен записать значения, если у меня установлен флажок во временном текстовом поле, которое сделает значения доступными во время обратной передачи независимо от того, что плагин делает с реальной таблицей!

Спасибо.

...