Главная страница

лабораторные работы. Лекция 18 Технология доступа к данным в среде visual studio 2010 Рекомендуемые источники


Скачать 4.3 Mb.
НазваниеЛекция 18 Технология доступа к данным в среде visual studio 2010 Рекомендуемые источники
Анкорлабораторные работы
Дата21.04.2023
Размер4.3 Mb.
Формат файлаpptx
Имя файла22643.pptx
ТипЛекция
#1078159
страница9 из 9
1   2   3   4   5   6   7   8   9

Свойства объекта DataGridView

Настройка свойств объекта DataGridView осуществляется в основном через меню действий. Возможны следующие настройки:

  • Chose Data Source - источник данных, отображаемый в таблице;
  • Enable Adding - добавлять записи;
  • Enable Deleting - разрешается пользователям удалять записи;
  • Enable Editing - разрешается пользователям изменять значения полей таблицы;
  • Enable Column Reordering - разрешается пользователям изменять порядок столбцов, просто перетаскивая их мышью.

Меню действий объекта DataGridView

Также в меню действий возможны следующее действия с таблицей:

  • Dock in parent container - вписать объект в форму;
  • Preview Data - появляется окно с предварительным просмотром таблицы;
  • Add Query - добавляет SQL - запрос, который выполняется на стороне клиента;
  • Add Column - добавление нового столбца в таблицу;
  • Edit Columns - настройка свойств отдельных столбцов таблицы.
Если в меню действий выбрать пункт "Edit Columns", то появляется окно, где можно добавлять, удалять и редактировать столбцы. Для этого в списке столбцов левой части окна выбираем столбец, а в правой - настраиваем его свойства. Наиболее часто настраиваются следующие свойства:
  • Name - имя столбца;
  • AutoSizeMode - подгонка ширины столбца по его содержимому;
  • ColumnType - определяет внешний вид ячеек столбца (какой объект для отображения информации находится в ячейках столбца);
  • DataPropertyName - имя, отображающего в столбце поля;
  • Frozen - фиксация столбца (столбец не передвигается при прокручивании таблицы);
  • HeaderText - текст заголовка столбца;
  • Width - ширина поля;
  • MaxInputLength - максимально вводимая длина текста;
  • MinimumWidth - минимальная ширина столбца;
  • ReadOnly - блокировка столбца для редактирования данных;
  • Resizable - разрешает менять ширину столбца;
  • SortMode - сортировка данных в таблице по этому столбцу;
  • ToolTipText - всплывающая подсказка для столбца;
  • Visible - делает столбец невидимым.
Замечание: Если необходимо настроить внешний вид всех ячеек таблицы, то для этого необходимо выделить объект DataGridView и на панели свойств зайти в свойство DefaultCellStyle. Появится окно со свойствами всех ячеек таблицы.

Замечание: В объекте DataGridView имеется возможность сортировки данных. Для этого используется метод Sort, имеющий следующий синтаксис:

DataGridView.Sort(<Имя столбца>, <Порядок сортировки>)

где DataGridView - это имя объекта,

<Имя столбца> - это имя столбца (свойство Name) по которому происходит сортировка записей в таблице, параметр <Порядок сортировки> определяет порядок сортировки и может принимать два значения:

System.ComponentModel.ListSortDirection.Ascending - сортировка по возрастанию;

System.ComponentModel.ListSortDirection.Descending - сортировка по убыванию.

Доступ к отдельным ячейкам таблицы

Замечание: Доступ к отдельным ячейкам таблицы можно получить через подобъект Item. Обращение к нему осуществляется следующим образом:

DataGridView.Item(i,j).<Свойство>

Здесь DataGridView - это имя объекта, i - горизонтальная координата ячейки, а j - вертикальная, <Свойство> - это настраиваемое свойство ячейки.

Пример: В верхнюю левую ячейку таблицы записать слово "Привет" и сделать цвет текста в ячейке красным.

DataGridView.Item(0,0).Value = "Привет"

DataGridView.Item(0,0).Style.ForeColor = Color.Red

Здесь DataGridView - это имя объекта, свойство Value определяет содержимое ячейки таблицы, свойство Style.ForeColor определяет цвет текста в ячейке. Нумерация столбцов и строк в таблице начинается с нуля.

§2.2.2 Создание табличных форм для отображения данных.

Фильтрация и сортировка данных, организация поиска информации в таблице


четыре надписи (Label),

пять кнопок (Button),

выпадающий список (ComboBox),

текстовое поле ввода (TextBox),

группирующую рамку (GroupBox),

список (ListBox),

два переключателя (RadioButton).

В появившемся списке объектов для отображения всей таблицы выберите "DataGridView"


Добавим на форму таблицу для отображения данных (DataGridView) из таблицы "Студенты". Для этого на панели "Источники данных" (Data Sources), нажмите кнопку расположенную справа от таблицы "Студенты".

Перетащите таблицу "Студенты" из панели "Источники данных" на форму.

Форма примет следующий вид

Далее настроим свойства объектов.

1. Начнем с настройки свойств формы. Задайте свойства формы следующим образом:

FormBorderStyle (Стиль границы формы): Fixed3D;

MaximizeBox (Кнопка развертывания формы во весь экран): False;

MinimizeBox (Кнопка свертывания формы на панель задач): False;

Text (Текст надписи в заголовке формы): Таблица "Студенты" (Табличный вид).

2. Зададим свойства надписей (Label1, Label2, Label3 и Label4) как:

AutoSize (Авторазмер): False;

Text (Текст надписи): "Таблица "Студенты" (Табличный вид)", "Поле для сортировки", "ФИО:" и "Критерий" (Соответственно для Label1, Label2, Label3 и Label4).

Font (Шрифт): Microsoft Sans Serif, размер 14;

ForeColor (Цвет текста): Темно синий;

TextAlign (Выравнивание текста): MiddleCenter.

Зададим надписи на кнопках как: "Сортировать", "Фильтровать", "Показать все", "Найти" и "Закрыть" (Соответственно для кнопок Button1, Button2, Button3, Button4 и Button5).

Для того чтобы нельзя было произвести сортировку не выбрав поля изначально заблокируем кнопку "Сортировать" (Button1).

3. У группирующей рамки зададим заголовок (Свойство Text) равным "Сортировка".

4. У переключателей (Объекты RadioButton1 и RadioButton2) зададим надписи как "Сортировка по возрастанию" и "Сортировка по убыванию", а у переключателя "Сортировка по возрастанию" (RadioButton1) зададим свойство Checked (Включен) равное True (Истина).

расположенной в верхнем правом углу таблицы. В меню действий выберите пункт "Edit columns…"


Заполним список (ListBox1) значениями, представленными на рисунке, а затем нажмем кнопку "Ok".

В окне "Edit Columns" из списка полей удалите поля "Код студента" и "Код специальности", выделив их и нажав кнопку "Remove" (Удалить).

Список полей примет вид показанный на рисунке.

Для закрытия окна редактирования полей, и сохранения изменений нажмите кнопку "Ok".


После перечисленных действий появится окно настройки свойств полей таблицы "Edit Columns"

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

Настроим заполнение выпадающего списка именами студентов из таблицы студенты. Отобразив меню действий выпадающего списка. Включим опцию "Use Data Bound Items". Установим параметр "Data Source" равным "Other Data Sources\Project Data Sources\StudentsDataSet\Студенты", а параметр "Display Member" равным "ФИО". Остальные параметры оставим без изменений.

После настройки всех вышеперечисленных свойств объектов новая форма примет вид:

§2.2.3 Создание табличных форм для отображения данных. Написание кода обработчиков событий объектов

Разблокировка кнопки

Закончив настройку свойств объектов и перейдем к написанию кода обработчиков событий объектов.

Работу с кодом начнем с написания кода для разблокирования кнопки "Сортировать", при выборе пункта списка (ListBox1). Для создания процедуры события дважды щелкните ЛКМ по списку. Появится процедура обработки события, происходящего при выборе пункта списка (ListBox1_SelectedIndexChanged). В процедуре наберите команду разблокировки кнопки "Сортировать" (Button1):

Button1.Enabled = True

Сортировка данных по выбранному полю

Теперь перейдем к созданию кода сортирующего нашу таблицу в зависимости от выбранного поля и порядка сортировки при нажатии кнопки "Сортировать". Дважды щелкните ЛКМ по кнопке "Сортировать". Появится процедура "Button1_Click", выполняемая при щелчке ЛКМ по кнопке. В процедуре наберите код: Затем следует блок Select Case…End Select, присваивающий в переменную Col имя выбранного столбца таблицы в зависимости от номера выбранного пункта списка (ListBox1.SelectedIndex). Если выбран первый пункт списка, то в переменную Col записывается столбец DataGridViewTextBoxColumn2, если второй, то - DataGridViewTextBoxColumn3 и так далее. Хотелось бы отметить тот факт, что нумерация пунктов списка начинается с нуля, а нумерация столбцов с единицы. Первый столбец "ФИО" носит имя DataGridViewTextBoxColumn2, так как имя DataGridViewTextBoxColumn1 имеет столбец заголовков строк; Блок If…End If выполняет следующую операцию: если включен переключатель "Сортировка по возрастанию" (RadioButton1), то отсортировать таблицу по полю заданному в переменной Col по возрастанию (СтудентыDataGridView.Sort (Col, System.ComponentModel.ListSortDirection. Ascending)), иначе по убыванию (СтудентыDataGridView.Sort (Col, System. ComponentModel.ListSortDirection. Descending)).
Рассмотрим код более подробно:

Обработчика события нажатия кнопки "Фильтровать"

Дважды щелкните по кнопке "Фильтровать" и в процедуре обработки события "Button2_Click" наберите код:

СтудентыBindingSource.Filter = "ФИО='" & ComboBox1.Text & "'"

Замечание: У объекта СтудентыBindingSource имеется текстовое свойство Filter которое определяет условие фильтрации. Условие фильтрации имеет синтаксис:

"<Имя поля><Оператор>'<Значение>'".

В нашем случае значение поля "ФИО" приравнивается к значению, выбранному в выпадающем списке (ComboBox1.Text)

Отмена фильтрации записей

Теперь перейдем к кнопке "Показать все", отменяющей фильтрацию записей. Дважды щелкните по вышеперечисленной кнопке. Появится процедура Button2_Click. В появившейся процедуре наберите команду СтудентыBindingSource.Filter = " "

Заметим, что если присвоить свойству "Filter" значение пустой строки (""), то его действие будет отменено.

Реализация поиска информации в таблице

Данная процедура состоит из двух частей:

Первый блок For i=0…..Next i. перебирает все ячейки таблицы и устанавливает в них белый цвет фона и черный цвет текста. То есть, отменяет результаты предыдущего поиска;

Второй блок For i=0…..Next i. перебирает все ячейки таблицы и если они содержат текст, введенный в поле ввода (TextBox1), то устанавливает в них голубой цвет фона и синий цвет текста, чем выделяет искомые ячейки.
Дважды щелкните по кнопке "Найти". В появившейся процедуре обработки нажатия кнопки "Button4_Click" наберите следующий код:

Кнопка "Закрыть"

Наконец рассмотрим код для кнопки "Закрыть". Дважды щелкните ЛКМ по этой кнопке и в появившейся процедуре "Button5_Click" наберите команду "Me.Close()", закрывающую выше рассматриваемую форму В заключение создадим кнопку на ленточной форме, отображающей таблицу "Студенты", для отображения соответствующей табличной формы. Откройте ленточную форму для таблицы "Студенты" (Form4) и поместите на нее новую кнопку, как это показано на рисунке. Задайте надпись у новой кнопки (свойство Text), как "Таблица".
Button8
Подключим к кнопке "Таблица" созданную ранее табличную форму (Form6). Для этого дважды щелкните ЛКМ по кнопке "Таблица" и в появившейся процедуре "Button8_Click" наберем команду "Form6.Show".
Проверим работоспособность созданной табличной формы. Запустим проект и на главной кнопочной форме нажмем кнопку "Таблица "Студенты"". На появившейся ленточной форме, отображающей таблицу "Студенты" нажмем кнопку "Таблица".

Появится новая табличная форма

Отметим тот факт, что после проведения всех вышеописанных действий панель обозревателя проекта (Solution Explorer) примет вид
1   2   3   4   5   6   7   8   9


написать администратору сайта