

ОБЪЕКТ DATA VIEW
1

Объект DataView
позволяет одновременно создавать разные представления данных из объекта DataTable, позволяющие настраивать способ отображения данных с помощью след.свойств:
Порядок сортировки (нисходящий или восходящий)
Фильтрация записей на основе значений полей.
Фильтр состояния записи, который указывает критерии отображения записей на основе состояния записи (например, Added – вновь созданные записи, Deleted – все записи отмеченные на удаление, и пр.)
2

Создание объектов DataView
Dim tbl As New DataTable("TableName") Dim vue As DataView
' Создаен объект DataView и связываем его с объектом DataTable
vue = New DataView() vue.Table = tbl
' ИЛИ выполняем обе операции с помощью конструктора объекта DataView
vue = New DataView(tbl)
3

Конструктор
Объект DataView имеет собственный конструктор, который задает значения свойств Table, RowFilter, Sort и RowStateFilter объекта DataView в одной строке кода:
vue = New DataView(tbl,"Country = USA","City DESC",DataViewRowState.Added)
4

Поиск данных в объекте DataView
Метод FindRows
Метод FindRows возвращает массив объектов DataRowView, содержащих записи, которые удовлетворяют вашим критериям поиска.
С помощью метода FindRows можно искать строки в некоторых столбцах, перечисленных в свойстве Sort объекта DataView.
5

Пример
……. ‘Создание и открытие соединения
Dim tbl As New DataTable("Customer")
……. ‘Создание структуры таблицы
……. ‘заполнение таблицы данными
vue.Sort = "Country"
Dim aflows As DataRowView()
aflows = vue.FindRows("Spain")
If aflows.Length = 0 Then
|
MsgBox(" Ничего не найдено") |
Else
|
For Each row As DataRowView In aflows |
|
MsgBox("") |
|
Next row |
End If
6

Свойства Item, Count
Свойство Item возвращает объект DataRowView. Обращаясь к свойству Item, передайте целое число, соответствующее номеру нужной вам строки.
Свойство Count позволяет задать количество строк, доступных из объекта DataView. Следующий фрагмент кода просматривает содержимое объекта DataView с помощью свойств Count и Item.
7

Пример
Dim vue As New DataView(tbl) Dim row As DataRowView Dim i As Integer
For i = 0 To vue.Count - 1 row = vue(i)
Console.WriteLine(row("CompanyName")) Next intCounter
8

Свойство RowFilter
Содержит фильтр, указывающий, какие записи объекта DataTable доступны через объект Data View.
Аналогично выражению WHERE SQL- запроса (значение по умолчанию — пустая строка)
DataView1.RowFilter=“Город = ‘Омск’ ”
9

Свойство Sort
Указывает порядок сортировки записей, доступных через объект DataView (значение по умолчанию -пустая строка)
DataView1.Sort = “Код_авто”
10