Технология Microsoft ADO.NET



           

Объект DataView. Фильтрация и сортировка данных - часть 3


City = 'London'

Свойство RowFilter объекта DataView

Рис. 9.8.  Свойство RowFilter объекта DataView

Запускаем приложение. Во второй таблице выводятся все записи с названием города "London" (рис. 9.9, А). Установив в свойстве RowFilter другое значение - ContactName = 'Thomas Hardy', - получаем одну запись, содержащую это значение (рис. 9.9, Б):

Вывод записей со значением "London" поля City (А) и записи со значением "Thomas Hardy поля ContactName (Б)

увеличить изображение
Рис. 9.9.  Вывод записей со значением "London" поля City (А) и записи со значением "Thomas Hardy поля ContactName (Б)

Свойство Sort предназначено для вывода записей в порядке возрастания (ascending, ASC) или убывания (descending, DESC) по значениям заданного поля. В принципе, элемент DataGrid сам по себе поддерживает сортировку - достаточно просто щелкнуть по заголовку поля. Однако это требует действий от пользователя, тогда как объект DataView может предоставлять данные уже в готовом виде.

Удаляем значение свойства RowFilter, в поле свойства Sort вводим "Sity ASC" (рис. 9.10):

 Сортировка по полю City

Рис. 9.10.  Сортировка по полю City

Запускаем приложение. Во второй таблице отображаются записи со значениями поля City в порядке возрастания (рис. 9.11, А). Введем другое значение поля Sort - "ContactName DESC" - в результате получаем сортировку записей в порядке убывания по полю CompanyName (рис. 9.11, Б):

 Сортировка записей по полю City (А), сортировка записей по полю ContactName (Б)

Рис. 9.11.  Сортировка записей по полю City (А), сортировка записей по полю ContactName (Б)

В программном обеспечении к курсу вы найдете приложение VisualData View (Code\Glava4\ VisualDataView).

Приступим теперь к рассмотрению этих же свойств объекта DataView, создаваемых программным образом. Скопируйте папку приложения ProgrammDataSQL и переименуйте ее в ProgrammDataView. Добавляем на форму второй DataGrid и Splitter точно так же, как мы это сделали в предыдущем приложении. Переходим в конструктор формы и изменяем код следующим образом:

public Form1() { InitializeComponent(); SqlDataAdapter dataAdapter = new SqlDataAdapter(CommandText, ConnectionString); DataSet ds = new DataSet(); //Создаем экземпляр dtCustomer объекта DataTable DataTable dtCustomer = ds.Tables.Add("Customer"); dataAdapter.Fill(ds, "Customer"); dataGrid1.DataSource = ds.Tables["Customer"].DefaultView; //Создаем экземпляр myDataView объекта DataView, //передаем ему объект dtCustomer DataView myDataView = new DataView(dtCustomer); //Устанавливаем фильтр для удаленных записей myDataView.RowStateFilter = DataViewRowState.Deleted; //Для второго элемента DataGrid указываем myDataView //в качестве источника данных.


Содержание  Назад  Вперед