Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MU_Prakticheskie_raboty_OPI.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.91 Mб
Скачать

1.1.4 Представление (объект DataView).

Позволяет создавать подмножество данных из существующей таблицы в заданном порядке. Объект типа DataView не содержит данные, а лишь отображает их из существующего DataSet, формируется:

- на основе определенного в свойстве Filter условия;

- на основе сортировки отфильтрованного подмножества данных DataTable с помощью свойства Sort;

- как результат поиска.

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

DataTable dt = new DataTable();

// … заполнение данными

DataView dv = dt.DefaultView;

dataGridView1 = dv;

dv.RowFilter = "name='vasya'";

1.2 Класс DataRelation (связи между таблицами)

DataRelation - специальный класс, который позволяет создавать объекты, обеспечивающие навигацию между двумя таблицами. Другими словами, если таблицы и связаны между собой (по двум полям, содержащим одинаковые значения):

table2.Constraints.Add("имя_ограничения", table1.Columns[0], table2.Columns[1]);

навигация между двумя таблицами полностью отсутствует.

Существует несколько конструкторов, позволяющих создать объект данного класса DataRelation. Наиболее распространенным является объект, принимающий четыре параметра:

1) имя связи;

2) имя колонки в главной таблице;

3) имя колонки в дочерней таблице;

4) специальный флаг (показывает необходимость создания ограничений, т.е. в случае, если не был создан вторичный ключ и флаг установлен в true, то при добавлении объекта типа DataRelation этот ключ будет создан автоматически).

t.Relations.Add("имя_связи", table1.Columns[0], table2.Columns[1],false);

Есть возможность извлекать связанные записи с помощью методов GetChildRows() и GetParentRows().

foreach (DataRow r in table1.Rows[i].GetChildRows("имя_связи"))

{

textbox1.text += r[1].ToString();

}

2 Просмотр данных. Класс DataGridView.

Элементом управления, отображающим таблицу на форме, является DataGridView.

Элемент управления DataGridView читает схему данных из источника данных и на основе типа столбца автоматически выбирает тип элемента управления для отображения (поле ввода или выбора).

Также DataGridView имеет встроенную поддержку столбцов с изображениями, кнопками, комбинированными списками.

Существует одно средство старого компонента DataGrid, которое отличает его от DataGridView, а именно, определение отношений между таблицами в DataSet автоматически (см. рисунок 6.2). Знак (+) слева от каждой записи отображает тот факт, что DataSet имеет управляемое отношение между главной и подчиненной таблицами. Щелчок на имени отношения позволяет перейти к связанным записям. При этом в правом верхнем углу появятся пару пиктограмм, одна из которых позволяет перейти к родительской записи.

Рисунок 6.2– Знак (+) слева от каждой записи обозначает отношения между главной и подчиненной таблицами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]