Здравствуйте. Интересует возможность получения диплома( https://intuit.ru/sites/default/files/diploma/examples/P/955/Nekommerch-2-1-PRF-example.jpg ). Курс пройден. Сертификат не подходит. В сертификате ошибка, указано по датам время прохождения около 14 дней, хотя написано 576 часов. |
Создание табличных форм
Работу с кодом начнем с написания кода для разблокирования кнопки "Сортировать", при выборе пункта списка ( ListBox1 ). Для создания процедуры события дважды щелкните ЛКМ по списку. Появится процедура обработки события, происходящего при выборе пункта списка ( ListBox1_SelectedIndexChanged ). В процедуре наберите команду разблокировки кнопки "Сортировать" (Button1): Button1.Enabled = True ( рис. 22.11).
Теперь перейдем к созданию кода сортирующего нашу таблицу в зависимости от выбранного поля и порядка сортировки при нажатии кнопки "Сортировать". Дважды щелкните ЛКМ по кнопке "Сортировать". Появится процедура "Button1_Click", выполняемая при щелчке ЛКМ по кнопке. В процедуре наберите код, представленный на рис. 22.12.
Рассмотрим код более подробно:
- Команда Dim Col As System.Windows.Forms.DataGridViewColumn создает переменную Col для хранения имени выбранного столбца таблицы;
- Затем следует блок 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). Дважды щелкните по кнопке "Фильтровать" и в процедуре обработки события "Button2_Click" наберите код: СтудентыBindingSource.Filter = "ФИО='" & ComboBox1.Text & "'" ( рис. 22.13).
Замечание: У объекта СтудентыBindingSource имеется текстовое свойство Filter ( рис. 22.13), которое определяет условие фильтрации. Условие фильтрации имеет синтаксис: "<Имя поля><Оператор>'<Значение>'".В нашем случае значение поля "ФИО" приравнивается к значению, выбранному в выпадающем списке ( ComboBox1.Text ) ( рис. 22.13).
Теперь перейдем к кнопке "Показать все", отменяющей фильтрацию записей. Дважды щелкните по вышеперечисленной кнопке. Появится процедура Button3_Click. В появившейся процедуре наберите команду СтудентыBindingSource.Filter = "" ( рис. 22.14).
Заметим, что если присвоить свойству "Filter" значение пустой строки ( "" ), то его действие будет отменено ( рис. 22.14).
Далее рассмотрим реализацию поиска информации в таблице. Дважды щелкните по кнопке "Найти". В появившейся процедуре обработки нажатия кнопки "Button4_Click" наберите следующий код ( рис. 22.15).
Рассмотрим более подробно код вышеприведенной процедуры. Данная процедура состоит из двух частей:
- Первый блок For i=0…..Next i. перебирает все ячейки таблицы и устанавливает в них белый цвет фона и черный цвет текста. То есть, отменяет результаты предыдущего поиска;
- Второй блок For i=0…..Next i. перебирает все ячейки таблицы и если они содержат текст, введенный в поле ввода ( TextBox1 ), то устанавливает в них голубой цвет фона и синий цвет текста, чем выделяет искомые ячейки.
Наконец рассмотрим код для кнопки "Закрыть". Дважды щелкните ЛКМ по этой кнопке и в появившейся процедуре "Button5_Click" наберите команду "Me.Close()", закрывающую выше рассматриваемую форму ( рис. 22.16).