Пейджинговые и сортировочные сетки с ASP.Net MVC
Я новичок в MVC, и не понимаю, как вы будете пейджинговать и сортировать по сетке. Я привык использовать элемент управления asp.Net GridView с объектом ObjectDataSource, указанным в объектах нашего бизнес-уровня, – и в этом случае ODS обрабатывает все поисковые вызовы и сортировку с помощью методов, которые генерирует наш ORM на объектах.
Я посмотрел на использование того же ORM с MVC – и все отлично работает там – я просто петлю через коллекции, чтобы построить таблицу на странице, но без ODS для обработки подкачки и сортировки, я запутался в отношении как бы я справился с этим. Будет ли у меня отдельный controller для подкачки и сортировки?
Я понимаю, что мне нужно сворачивать самостоятельно, но с чего начать? Я создал CustomerController и представление, которое отображает таблицу клиентов, которая выглядит ниже – и я хочу сортировать столбцы FirstName или LastName. Моя модель имеет метод Sort (), который примет выражение строковой сортировки в формате, который будет использоваться парой GridView / ODS. Могу ли я создать новое действие для своего CustomerController под названием Sort и поместить ActionLink в свой заголовок?
- Пересечение столбцов GridLayoutManager Android Recyclerview
- Создание элементов таблицы GridView
- Сброс позиции прокрутки после обратной пересылки Async - ASP.NET
- ASP.NET GridView RowIndex как CommandArgument
- как найти элемент управления в шаблоне редактирования элемента?
First Name Last Name
- Простой пример сетки Android, использующий RecyclerView с GridLayoutManager (например, старый GridView)
- добавление текстового интерфейса для перетаскивания - Android / Java
- Сортировка GridView: SortDirection всегда по возрастанию
- Экспорт GridView в несколько листов Excel
- GridView связан с свойствами вложенного classа
- Полная обратная передача, вызванная LinkButton внутри GridView внутри UpdatePanel
- Отображение изображений из определенной папки на SD-карте с использованием gridview
- Лучший способ сделать сортировку WPF ListView / GridView при нажатии на заголовок столбца?
Вы можете использовать один и тот же controller, просто добавьте дополнительный параметр и назовите его сортировку. Затем проверьте в controllerе, что такое сортировка значений, и отсортируйте данные на основе этого параметра.
Или, если вы хотите делать что-то на стороне клиента, вы можете использовать что-то вроде tablesorter , плагин для jquery.
теперь MVC 3 теперь имеет webGrid из коробки. Я знаю, что этот вопрос был давным-давно, но я оказался на нем, когда искал что-то о webGrid. Поэтому я подумал, что у него должен быть ответ, касающийся нового webGrid.
Вот несколько хороших сообщений о том, как их использовать:
http://www.dotnetcurry.com/ShowArticle.aspx?ID=615
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