Пейджинговые и сортировочные сетки с ASP.Net MVC

Я новичок в MVC, и не понимаю, как вы будете пейджинговать и сортировать по сетке. Я привык использовать элемент управления asp.Net GridView с объектом ObjectDataSource, указанным в объектах нашего бизнес-уровня, – и в этом случае ODS обрабатывает все поисковые вызовы и сортировку с помощью методов, которые генерирует наш ORM на объектах.

Я посмотрел на использование того же ORM с MVC – и все отлично работает там – я просто петлю через коллекции, чтобы построить таблицу на странице, но без ODS для обработки подкачки и сортировки, я запутался в отношении как бы я справился с этим. Будет ли у меня отдельный controller для подкачки и сортировки?

Я понимаю, что мне нужно сворачивать самостоятельно, но с чего начать? Я создал CustomerController и представление, которое отображает таблицу клиентов, которая выглядит ниже – и я хочу сортировать столбцы FirstName или LastName. Моя модель имеет метод Sort (), который примет выражение строковой сортировки в формате, который будет использоваться парой GridView / ODS. Могу ли я создать новое действие для своего CustomerController под названием Sort и поместить ActionLink в свой заголовок?

First Name Last Name

Вы можете использовать один и тот же controller, просто добавьте дополнительный параметр и назовите его сортировку. Затем проверьте в controllerе, что такое сортировка значений, и отсортируйте данные на основе этого параметра.

Или, если вы хотите делать что-то на стороне клиента, вы можете использовать что-то вроде tablesorter , плагин для jquery.

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

Вот несколько хороших сообщений о том, как их использовать:

http://www.dotnetcurry.com/ShowArticle.aspx?ID=615

http://cnug.co.in/blogs/shijuv/archive/2010/10/08/using-the-webgrid-helper-in-asp-net-mvc-3-beta.aspx

http://www.nickharris.net/tag/webgrid/

Он поддерживает сортировку, подкачку, а также некоторые материалы Ajax. Он может сделать много для вас уже, но вы также можете указать каждый отдельный столбец отдельно.

Обновить:
Существует также много доступных библиотек JavaScript, которые могут сделать таблицу для вас. Мне лично нравится использовать DataTables . Вы можете подать на него существующую таблицу html, сгенерированную на сервере, или предоставить ей конечную точку, где она может извлекать данные (все или только одну страницу).

Есть еще много, просто вокруг Google.

С MVC вам нужно сворачивать собственную сортировку, подкачку и т. Д. Я бы предложил YUI DataTable или некоторые из других гридов JavaScript там.

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

Сначала используйте jQuery . jQuery – ваш друг. Затем используйте этот удивительный и, вероятно, лучший грид-контроль для jQuery jqGrid .

В вашем CustomerController создайте действие CustomerData. Все взаимодействие с сеткой должно указывать на это действие.

Пойдите здесь для нескольких примеров о том, как использовать jqGrid.

Мы используем JqxGrid на стороне клиента из JqWidgets и очень довольны его производительностью, связанной с огромным количеством записей, а также подкачки, фильтрация, сортировка встроенных внутри. Вот пример привязки его в ASP.Net MVC

  • Изменение цвета ячейки на разные значения - Gridview
  • Как получить значение ячейки по имени столбца не по индексу в GridView в asp.net
  • Как удалить строку из GridView?
  • Получить значения DataKey в GridView RowCommand
  • Android: Как GridView auto_fit находит количество столбцов?
  • GridView - отображать заголовки на пустом источнике данных
  • Сетка изображений внутри ScrollView
  • Редактирование строки Gridview - динамическое связывание с DropDownList
  • Получить индекс Row в событии Rowcommand от Asp.net
  • Как добавить параметр «подтвердить удаление» в ASP.Net Gridview?
  • Android gridview сохраняет выбранный элемент
  • Давайте будем гением компьютера.