Чтение онлайн

на главную - закладки

Жанры

Обработка баз данных на Visual Basic®.NET

Прайс Кевин Т.

Шрифт:

dvView2.Sort = "LastName DESC"

dvView2.RowStateFilter = DataViewRowState.Current
 

НА ЗАМЕТКУ

Объект DataViewManager предлагает удобный централизованный способ управления параметрами представлений для всех таблиц набора данных DataSet.

В большинстве других случаев объект DataView аналогичен объекту DataTable. Доступ к отдельным записям и полям представления осуществляется с помощью объекта DataRowView. Этот объект также поддерживает

отношения между таблицами объекта DataSet.

Объект DataView имеет модель редактирования, аналогичную модели редактирования объекта DataTable. Указание значения True для свойств AllowNew, AllowEdit и AllowDelete означает разрешение на выполнение соответствующих операций редактирования (вставки, изменения и удаления). Методы BeginEdit и EndEdit и CancelEdit объекта DataRowView управляют внесением изменений в объект DataTable. Метод EndEdit вносит изменения в объект DataRow с версией Current. Эти изменения затем принимаются (или отвергаются) базовым объектом DataTable с помощью метода AcceptChanges (или RejectChanges).

Рассмотрим теперь, как описанные выше идеи применяются на практике. Создайте новую форму frmDataViews в проекте DataSetCode (готовая версия этой формы находится в каталоге с примерами главы 5, "ADO.NET: объект DataSet") для создания двух разных представлений одной таблицы Customers. Каждый объект DataGrid отображает данные представления и содержит кнопки управления сортировкой и фильтрацией. Для этого выполните перечисленные ниже действия.

1. В форме frmDataSets проекта DataSetCode создайте новую кнопку под кнопкой Data Adapter Updates.

2. В окне Properties укажите значение btnDataViews для свойства (Name) и значение Data Views для свойства Text этой кнопки.

3. Создайте новую форму.

4. В окне Properties укажите значение frmDataViews для свойства (Name) и значение Dueling Data Views для свойства Text новой формы Form1.

5. Увеличьте размер формы frmDataViews.

6. Создайте в правой части формы сетку данных DataGrid1, текстовое поле txtFilter1 с надписью, поле со списком cboSort1 и надписью, флажок chkDesc1 с надписью, поле со списком cboRowState1 и надписью, кнопку btnApply1, перетаскивая их из панели элементов управления.

7. В окне Properties укажите значение Descending для свойства Text флажка chkDesc1 и значение Apply для свойства Text кнопки btnApply1. Укажите значение DropDownList для свойства DropDownStyle полей со списком cboSort1 и cboRowState1. Укажите для свойства Text надписей значения by Column: и Row State.

8. Укажите значение Default Data View для свойства CaptionText сетки DataGrid1.

9. Расположите элементы управления так, как показано на рис. 7.2. 

РИС. 7.2. Расположение элементов управления в верхней части формы frmDataViews

РИС. 7.З. Окончательный вид формы frmDataViews

10.

Выберите все элементы управления и скопируйте их в нижнюю часть формы frmDataViews. Переименуйте все элементы управления (за исключением надписей) так, чтобы их имена заканчивались цифрой 2, а не 1 (например, btnApply2).

11. Укажите значение DataView2 для свойства CaptionText сетки DataGrid2.

Окончательный вид формы frmDataViews показан на рис. 7.3, а ее код представлен в листинге 7.6.

Листинг 7.6. Код создания двух объектов-сеток для отображения разных представлений одной таблицы данных

Imports System

Imports System.Data

Imports System.Data.SqlClient

Public Class frmDataViews

 Inherits System.Windows.Forms.Form

"Windows Form Designer generated code"

 Private dsCustomers As New DataSet

 Private dvView2 As DataView

 Private Sub frmDataViewS_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

Dim i As Integer

Dim col As DataColumn

' Инициализация объекта DataAdapter.

Dim daCustomers As SqlDataAdapter = New _

SqlDataAdapter("select * from tblCustomer", _

"server=localhost;uid=sa;database=novelty")

' Вставка данных только в ОДНУ таблицу.

daCustomers.Fill(dsCustomers, "Customers")

' Создание второго объекта DataView.

dvView2 = New DataView(dsCustomers.Tables("Customer"), _

"", "LastName", DataViewRowState.CurrentRows)

' Вставка списка из имен полей.

For Each col In dsCustomers.Tables("Customers.Columns")

cboSort1.Items.Add(col.ColumnName)

cboSort2.Items.Add(col.ColumnName)

Next

' Вставка объекта DataViewRowState.

Dim names As String

names = DataViewRowState.None.GetNames(DataViewRowState.None.GetType)

For i = 0 To names.GetUpperBound(0)

cboRowState1.Items.Add(names(i))

cboRowState2.Items.Add(names(i))

Next

' Указание значений по умолчанию.

Поделиться:
Популярные книги

Измена. Испорченная свадьба

Данич Дина
Любовные романы:
современные любовные романы
короткие любовные романы
5.00
рейтинг книги
Измена. Испорченная свадьба

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Его наследник

Безрукова Елена
1. Наследники Сильных
Любовные романы:
современные любовные романы
эро литература
5.87
рейтинг книги
Его наследник

Измена. Право на семью

Арская Арина
Любовные романы:
современные любовные романы
5.20
рейтинг книги
Измена. Право на семью

Неудержимый. Книга XIX

Боярский Андрей
19. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIX

Волков. Гимназия №6

Пылаев Валерий
1. Волков
Фантастика:
попаданцы
альтернативная история
аниме
7.00
рейтинг книги
Волков. Гимназия №6

Неучтенный. Дилогия

Муравьёв Константин Николаевич
Неучтенный
Фантастика:
боевая фантастика
попаданцы
7.98
рейтинг книги
Неучтенный. Дилогия

Безумный Макс. Ротмистр Империи

Ланцов Михаил Алексеевич
2. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
4.67
рейтинг книги
Безумный Макс. Ротмистр Империи

Проданная Истинная. Месть по-драконьи

Белова Екатерина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Проданная Истинная. Месть по-драконьи

Род Корневых будет жить!

Кун Антон
1. Тайны рода
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Род Корневых будет жить!

Брак по-драконьи

Ардова Алиса
Фантастика:
фэнтези
8.60
рейтинг книги
Брак по-драконьи

Боги, пиво и дурак. Том 3

Горина Юлия Николаевна
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3

Отморозок 3

Поповский Андрей Владимирович
3. Отморозок
Фантастика:
попаданцы
5.00
рейтинг книги
Отморозок 3

Ваше Сиятельство 3

Моури Эрли
3. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 3