
- •Содержание
- •Тема 1. Работа с базами данных в Microsoft SQL Server Compact
- •1.1. Создание баз данных в Microsoft SQL Server Compact
- •1.2. Создание таблиц в базе данных
- •1.3. Создание отношения между таблицами
- •1.4. Заполнение таблиц данными
- •1.5. Изменение структуры таблицы
- •1.6. Формирование источника данных для новой базы данных
- •1.7. Подключение к уже существующим базам данных
- •Тема 2. Организация вывода данных в табличной форме
- •2.1. Подключение к базе данных и отображение данных в виде таблицы
- •2.2. Настройка DataGridView
- •2.3. Управление данными в DataGridView
- •Тема 3. Отображение данных из таблицы по одной записи. Управление данными и управление перемещением между записями программным способом.
- •3.1. Подключение базы данных и формирование источника данных
- •3.2. Формирование интерфейса приложения
- •3.3. Подключение полей таблицы базы данных к визуальным объектам на форме
- •3.5. Сохранение изменений в файле базы данных
- •3.6. Определение доступа к кнопкам
- •Тема 4. Отображение данных из двух связанных таблиц. Добавление, редактирование и удаление записей в связанных таблицах.
- •4.1. Подключение базы данных и формирование источника данных
- •4.2. Формирование интерфейса приложения
- •4.3. Настройка таблиц Студенты и Отметки
- •4.4. Описание обработчиков событий для кнопок
- •Тема 5. Организация хранения графических изображений в базах данных. Добавление и удаление графических изображений в базах данных.
- •5.1. Подключение базы данных и формирование источника данных
- •5.2. Формирование интерфейса приложения
- •Тема 6. Выполнение поиска в базах данных. Фильтрация и сортировка.
- •6.1. Фильтрация записей
- •6.2. Сортировка записей
- •6.3. Программирование приложения для выполнения фильтрации по нескольким полям разного типа
- •6.4. Программирование приложения для выполнения быстрого поиска по первым буквам текстовых полей
- •Тема 7. Использование вычисляемых полей в таблицах баз данных.
- •7.1. Добавление вычисляемых полей
- •7.2. Примеры использования вычисляемых полей

13
Тема 2. Организация вывода данных в табличной форме
2.1.Подключение к базе данных и отображение данных в виде таблицы
Пусть имеется база данных «Классный журнал», содержащая две таблицы: Студенты и Отметки. Рассмотрим, как создать приложение в Visual Studio C#, позволяющее отобразить записи таблицы Студенты в виде таблицы и управлять данными записями.
Шаг 1. Создайте новый проект типа Windows Forms и сохраните его в какой-либо
папке.
Шаг 2. Возьмите файл базы данных БДЖурнал.sdf и подключите эту базу данных к проекту так, как это было описано в п. 1.7 темы 1.
Шаг 3. Добавление и настройка DataSet.
В панели элементов в группе Данные найдите элемент DataSet. Добавьте его на форму проекта. В диалоговом окне добавления набора данных выберите вариант «Типизированный набор данных». Нажмите ОК.
Под формой появится компонент под именем бдЖурналDataSet1.
Шаг 4. Добавление и настройка BindingSource.
© 2012, Милютин А.Ю.

14
Добавьте к проекту компонент BindingSouce (группа Данные). Дайте ему имя bindingSourceСтуденты. Свяжите BindingSource с источником данных. В свойстве DataSource откройте список и выберите:
Другие источники данных ► Источники данных проекта ► бдЖурналDataSet1
В свойстве DataMember выберите таблицу Студенты.
Шаг 5. Добавление и настройка DataGridView.
Добавьте на форму компонент DataGridView. В качестве источника данных выберите bindingSourceСтуденты.
После выполнения всех указанных действий на форме появится компонент DataGridView, содержащий поля таблицы Студенты:
© 2012, Милютин А.Ю.

15
А при запуске проекта будут отображаться записи таблицы Студенты:
Таким образом, получается следующая цепочка:
Файл базы |
|
Источник |
|
DataSet |
|
BindingSource |
|
Визуальный |
данных на |
|
данных |
|
|
|
|
|
объект на форме - |
диске. |
|
|
|
|
|
|
|
DataGridView |
|
|
|
|
|
|
|
|
|
Физически |
|
Организует |
|
Организует |
|
Извлекает из |
|
Отображает на |
хранит |
|
связь с файлом |
|
связь с |
|
источника данных |
|
форме данные, |
таблицы базы |
|
базы данных на |
|
источнико |
|
данные для |
|
полученные от |
данных |
|
диске |
|
м данных |
|
отображения на |
|
BindingSource |
|
|
|
|
|
|
форме (таблицы, |
|
|
|
|
|
|
|
|
поля и т.п.) |
|
|
2.2. Настройка DataGridView
Компонент DataGridView предназначен для отображения данных, полученных из базы данных, в табличной форме, а также для управления этими данными (добавление, редактирование, удаление).
Основные свойства DataGridView:
Свойство |
Описание |
DataSource |
Источник данных для отображения в DataGridView. |
ReadOnly |
Если значение True, то пользователь не может редактировать |
|
ячейки. |
StandardTab |
Если значение True, то по нажатию на клавишу Tab |
|
выполняется переключение между элементами управления на |
|
форме. |
|
Если значение False, то по нажатию на клавишу Tab |
|
выполняется перемещение между ячейками DataGridView. |
ScrollBars |
Определяет отображение полос прокрутки. Возможные |
|
значения: |
|
Both – обе полосы прокрутки. |
|
Horizontal – только горизонтальная полоса прокрутки |
|
Vertical – только вертикальная полоса прокрутки |
|
None – полосы прокрутки отсутствуют |
SelectionMode |
Определяет режим выделения ячеек. Возможные значения: |
|
RowHeaderSelect – выделяются отдельные ячейки. По щелчку |
© 2012, Милютин А.Ю.

|
16 |
|
|
|
на заголовок строки (первая ячейка с маркером строки) |
|
выделяется целиком вся строка. |
|
CellSelect – выделяются только отдельные ячейки. |
|
FullRowSelect – выделяется целиком вся строка. |
RowHeadersVisible |
Если значение False, то столбец с заголовками строк не |
|
отображается. |
ColumnHeadersVisible |
Если значение False, то строка с заголовками столбцов не |
|
отображается. |
MultiSelect |
Если значение True, то можно выделять несколько ячеек (или |
|
строк), удерживая нажатой клавишу Ctrl. |
GridColor |
Цвет линий сетки, разделяющих ячейки. |
EditMode |
Определяет режим начала редактирования ячейки. Возможные |
|
значения: |
|
EditOnKeystrokeOnF2 – можно начинать редактировать нажав |
|
на F2, либо начать набирать текст в ячейке. |
|
EditOnKeystroke – для редактирования начать набирать текст в |
|
ячейке. |
|
EditOnF2 – для редактирования нажать F2. |
|
EditOnEnter – при выделении ячейки автоматически включается |
|
режим редактирования. |
AllowUserToResizeRows |
Если значение True, то пользователь может изменять высоту |
|
строк (потянув за разделительную линию между строками в |
|
столбце с заголовками строк). |
AllowUserToResizeColumns |
Если значение True, то пользователь может изменять ширину |
|
столбцов (потянув за разделительную линию между столбцами |
|
в строке с заголовками столбцов). |
AllowUserToOrderColumns |
Если значение True, то пользователь может буксировать |
|
столбец (потянув за заголовок столбца в строке с заголовками |
|
столбцов). |
AllowUserToDeleteRows |
Если значение True, то пользователь может удалять строки. |
AllowUserToAddRows |
Если значение True, то пользователь может добавлять строки. |
ShowCellToolTips |
Если значение True, то по наведению курсора на заголовок |
|
столбца будет отображаться всплывающая подсказка. |
|
Примечание. Текст всплывающей подсказки указывается в |
|
свойствах столбца (см. ниже). |
Columns |
Свойства столбцов (подробное описание см. ниже). |
Для изменения свойств столбцов либо выделите свойство Columns в панели Свойства и нажмите на кнопку с троеточием, либо выполните щелчок правой кнопкой мыши на DataGridView и выберите команду «Правка столбцов…».
© 2012, Милютин А.Ю.

17
Вдиалоговом окне «Правка столбцов» в левой части отображается список столбцов. С помощью кнопок ↑ и ↓ можно изменять порядок следования столбцов в таблице.
Для удаления столбца выделите его и нажмите кнопку Удалить.
Для добавления какого-то дополнительного столбца нажмите кнопку Добавить.
Вправой части окна отображаются свойства выделенного столбца.
Основные свойства столбца:
Свойство |
Описание |
HeaderText |
Заголовок столбца |
ToolTipText |
Текст всплывающей подсказки. Всплывающая подсказка |
|
отображается по наведению курсора мыши на заголовок |
|
столбца. |
|
Примечание. Всплывающая подсказка будет отображаться, |
|
если свойство ShowCellToolTips для компонента DataGridView |
|
будет установлено в значение True. |
Visible |
Если значение True, то столбец видимый. |
DataPropertyName |
Имя поля из источника данных, значения которого |
|
отображаются в текущем столбце. |
DividerWidth |
Ширина разделительной полосы после текущего столбца (в |
|
пикселях). |
Frozen |
Если значение True, то текущий столбец и все столбцы слева от |
|
него будут являться непрокручиваемыми при использовании |
|
горизонтальной линейки прокрутки. |
Width |
Ширина столбца в пикселях. |
MaxInputLength |
Максимальное количество символов, которое можно ввести в |
|
ячейку столбца. |
ReadOnly |
Если значение True, то ячейки столбца редактировать нельзя. |
Resizable |
Если значение True, то ширину столбца можно менять. |
ColumnType |
Тип данных, которые отображаются в текущем столбце. |
DefaultCellStyle |
Стиль ячейки столбца (Подробное описание см. ниже). |
Для изменения стиля ячейки столбца (цвет, выравнивание и т.п.) выделите свойство DefaultCellStyle и нажмите на кнопку с троеточием. Откроется диалоговое окно:
© 2012, Милютин А.Ю.