Использование элементов управления ListView и DataPager в ASP.NET 3.5 - Сортировка информации при помощи элемента управления ListView
ОГЛАВЛЕНИЕ
Сортировка информации при помощи элемента управления ListView
Аналогично активация сортировки в ListView - очень простая процедура и может быть выполнена без необходимости в написании и строки кода. Основным препятствием использования сортировки в элементе управления ListView является то, что не существует никаких заранее определенных колонок, как в случае с GridView. Поэтому мы замешаны в определении и реализации интерфейса сортировки. Но как только все будет сделано, ListView сможет обрабатывать логику сортировки, а нам не придется писать ничего в коде. Конечно, в более сложных случаях нам наверняка понадобится вручную сортировать информацию, либо программно указать выражение сортировки, используемое для сортировки информации. До осуществления сортировки ListView вызывает свой обработчик события Sorting, который является идеальным местом для добавления какой-либо логики, связанной с сортировкой. Более того, логика сортировки элемента ListView может быть программно вызвана посредством метода Sort.
В данной статье мы рассмотрим способ активации сортировки в элементе управления ListView. Мы рассмотрим пример ListView, обладающий функциональностью сортировки. Далее мы рассмотрим способ программного вызова данной логики сортировки посредством метода Sort, а также более серьезные примеры. Читайте далее, чтобы узнать больше об этом!
Основы сортировки
Основные принципы, используемые для сортировки ListView такие же, как и для сортировки других веб-элементов управления типа *View: GridView, DetailsView и FormView. Для новичков: элемент управления ListView обладает методом Sort(sortExpression, sortDirection), который в качестве входных данных принимает строку sortExpression и перечисление SortDirection (который имеет значения Ascending (по возрастанию) и Descending (по убыванию)). Вызов метода SortSorting элемента ListView. вызывает событие
Если элемент ListView привязан к элементу управления источником данных (к примеру, SqlDataSource или ObjectDataSource), то последний в ответе за сортировку данных. Отсортированная информация после будет заново привязана к элементу ListView. Вкратце, если вы используете элемент управления источником данных, то сортировка может быть реализована в элементе ListView без каких-либо усилий относительно написания кода - все обрабатывается автоматически элементом ListView и его элементом управления источником данных.
Если ListView был программно привязан к данным - то есть, если у вас есть код, который получает данные, а затем назначает их свойству DataSource элемента ListView и вызывает метод DataBind(), то тогда вы ответственны за повторную сортировку и привязку данных к ListView. Для реализации этого вам понадобится создать обработчик для события Sorting элемента ListView - место, где вы повторно запросите данные в указанном порядке и заново привяжете к ListView. Мы рассмотрим способ создания обработчика события Sorting позже (хотя мы будет использовать его в более значимых случаях, а все примеры в данной статье используют элемент управления источником данных).
Одним из способов начать процесс сортировки ListView является вызов метода Sort. Другим будет добавление правильных конфигураций LinkButton, Button или ImageButton с LayoutTemplate элемента ListView. Нажатие на такой элемент, как Button, вызовет постбэк и начнет процесс сортировки. Для того, чтобы это сработало, LinkButton, Button или ImageButton должны иметь значение Sort в свойстве CommandName, а также свойство CommandArgument установленное в поле данных, по которому будет сделана сортировка.