Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программное управление информационной системой



В Visual Studio 2008 добавлять, удалять записи и перемещаться по ним можно как используя объект Navigator, так и используя обычные кнопки. Рассмотрим создание кнопок для управления записями. В Visual Studio 2008 отсутствует объект " RecordSet" все операции с записями осуществляются с использованием объекта " BindingSource".

В Visual Basic 2008 для добавления новой записи из таблицы " Студенты" используется команда вида СтудентыBindingSource.AddNew. Вместо метода AddNew можно использовать методы:

  • MoveNext (перейти к следующей);
  • MoveFirst (Перейти к первой);
  • Move Previous (Перейти к предыдущей);
  • Move Last (Перейти к последней);
  • Delete (Удалить запись).

У объекта BindingSource имеется свойство Filter. Оно аналогично Filter у объекта RecordSet в Visual Basic 6.0. Его использование ничем не отличается от исполнения такого же свойства в Visual Basic 6.0. То есть в свойстве Filter задаётся строка, определяющая условие отбора записей в динамических фильтрах, выполняемых на стороне клиента. Данная строка имеет следующий синтаксис:

< Поле1> < Оператор1> < Выражение1>

[AND|OR < Поле2> < Оператор2> < Выражение2> …]

 

Здесь:

  • < Поле1>, < Поле2> ... - поля на которые накладываются условия;
  • < Оператор1>, < Опрераторы2> - операторы сравнения, участвующие в условиях;
  • < Выражение1>, < Выражение2> - выражения с которыми сравниваются поля. Под выражениями понимаются, константы, переменные, формулы, функции и свойства объектов

Пример: Из таблицы " Студенты" необходимо отобразить студента, у которого значение поля ФИО равно " Петров".

СтудентыBindingSource.Filter = " ФИО = 'Петров'"

 

Обычно при формировании запроса при помощи свойства Filter задания условий отбора используют либо списки ListBox, либо выпадающие списки ComboBox.

Замечание: Если мы используем ComboBox для создания динамического фильтра, то в меню действий параметры " Value Member" и " Selected Value" настраивать не надо.

Пример: Имеется таблица " Студенты", которая отображается на форме в DataGridView. Необходимо на форме поместить ComboBox с фамилиями студентов. При выборе ФИО и нажатием на кнопку отобразить данные только по выбранному студенту.

В этом случае в меню действий ComboBox в параметре " Data Source" указываем " Other Data Source/Студенты". Затем в " Display Member" выбираем ФИО. В коде кнопки прописываем следующую команду:

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

 

После нажатия кнопки в DataGridView отображаются данные по студенту, выбранному в выпадающем списке ComboBox1.

Модернизируем форму для таблицы " Студенты". Сначала программно продублируем кнопки панели навигации, расположенной в верхней части формы. Откройте проект " StudentsDB" и отобразите форму таблицы студенты ( Form4 ). В нижней части формы расположите семь кнопок, как это показано на рис. 1.

Рис. 1.

В качестве надписей на созданных кнопках (Свойство " Caption" ) задайте как: " Первая", " Предыдущая", " Добавить", " Последняя", " Следующая", " Удалить" и " Сохранить" (рис. 2).

Рис. 2.

Дважды щелкните ЛКМ по кнопке " Первая" и в появившемся окне кода формы " Form4" в процедуре " Button1_Click" наберите команду для перехода к первой записи " СтудентыBindingSource.MoveFirst()" (рис. 3).

Рис. 3.

Дважды щелкните ЛКМ по кнопке " Предыдущая" и в появившемся окне кода формы " Form4" в процедуре " Button2_Click" наберите команду для перехода к предыдущей записи " СтудентыBindingSource.MovePrevious()" (рис. 4).

Рис. 20.4.

Дважды щелкните ЛКМ по кнопке " Добавить" и в появившемся окне кода формы " Form4" в процедуре " Button3_Click" наберите команду для добавления новой записи " СтудентыBindingSource.AddNew()" (рис. 5).

Рис. 5.

Дважды щелкните ЛКМ по кнопке " Последняя" и в появившемся окне кода формы " Form4" в процедуре " Button4_Click" наберите команду для перехода к последней записи " СтудентыBindingSource.MoveLast()" (рис. 6).

Рис. 6.

Дважды щелкните ЛКМ по кнопке " Следующая" и в появившемся окне кода формы " Form4" в процедуре " Button5_Click" наберите команду для перехода к следующей записи " СтудентыBindingSource.MoveNext()" (рис. 7).

Рис. 7.

Дважды щелкните ЛКМ по кнопке " Удалить" и в появившемся окне кода формы " Form4" в процедуре " Button6_Click" наберите команду для удаления текущей записи " СтудентыBindingSource.RemoveCurrent()" (рис. 8).

Рис. 8.

Дважды щелкните ЛКМ по кнопке " Сохранить" и в появившемся окне кода формы " Form4" в процедуре " Button7_Click" наберите команду для сохранения изменений, отображенную на рис. 9.

Рис. 9.

Рассмотрим последнюю процедуру более подробно. Она содержит следующие команды:

  • Me.Validate() - проверяет введенные в поля данные на соответствие типам данных полей;
  • Me.СтудентыBindingSource.EndEdit() - закрывает подключение с сервером;
  • Me.TableAdapterManager.UpdateAll(Me.StudentsDataSet) - обновляет данные на сервере.

Для проверки работы созданных кнопок запустите проект откройте форму " Таблица " Студенты" " и нажмите каждую из кнопок.

Теперь изменим объекты, отображающие поля для более удобного ввода информации. Для начала удалите текстовые поля ввода ( TextBox ), отображающие следующие поля таблицы " Студенты": " Пол", " Родители", " Телефон", " Паспортные данные", " Номер зачетки", " Курс" и " Код специальности". После удаления, перечисленных полей форма, отображающая таблицу " Студенты" примет следующий вид (рис.10):

Рис. 10.

Для отображения полей " Телефон", " Паспортные данные" и " Номер зачетки" будем использовать текстовые поля ввода по маске ( MaskedTexBox ). Объект текстовое поле ввода по маске отсутствует в выпадающем списке объектов для отображения полей в окне " Источники данных", поэтому будем создавать данные объекты при помощи панели объектов ( Toolbox ), а затем подключать их к соответствующим полям вручную. Для создания текстовых полей ввода по маске на панели объектов используется кнопка

 

Создайте текстовые поля ввода по маске справа от надписей " Телефон", " Паспортные данные" и " Номер зачетки", как это показано на рис. 11.

Рис. 11.

Теперь у созданных объектов настроим маски ввода. Начнем с объекта, отображающего номер зачетки. На форме выделите соответствующее полю " Номер зачетки" текстовое поле ввода по маске. Для задания маски в меню действий с объектом выберите пункт " Set Mask…" (Установить маску…) (рис. 12).

Рис. 12.

После выбора пункта " Set Mask…" на экране появится окно задания маски " Input Mask" (Введите маску) (рис. 13).

Рис. 13.

В окне " Input Mask" выберите маску " Numeric (5-digits)" (Числовое (5-цифр)) и нажмите кнопку " Ok" (рис. 13).

Для текстового поля ввода по маске для поля " Паспортные данные" задайте маску как показано на рис. 14.

Рис. 14.

Замечание: Обратите внимание, что паспортные данные отображаются как четыре числа, тире, шесть чисел. То есть в поле " Mask" (Маска) нужно задать " 0000-000000". Знак " 0" обозначает цифру. В поле " Preview" (Предварительный просмотр) отображается вид текстового поля ввода по маске на форме.

После определения маски для поля " Паспортные данные" в окне " Input Mask" нажмите кнопку " Ok".

Теперь зададим маску для текстового поля ввода по маске отображающего поле " Телефон". Задайте маску как показано на рис. 15.

Рис. 15.

Теперь нам необходимо подключить созданные текстовые поля ввода по маске к соответствующим полям. Для этого с панели " Источники данных" (DataSources) перетащите поле " Номер зачетки" на текстовое поле ввода по маске, расположенное справа от надписи " Номер зачетки". Проделайте такую же операцию с полями " Паспортные данные" и " Телефон", перетащив их на соответствующие им текстовые поля ввода по маске.

На этом мы заканчиваем работу с текстовыми полями ввода по маске и переходим к отображению поля " Курс" при помощи числового счетчика (объект NumericUpDown ). Для этого, на панели " Источники данных" нажмите кнопку, расположенную справа от поля " Курс" и в выпадающем списке выберите объект для отображения данного поля как " NumericUpDown" (рис. 16).

Рис. 16.

Затем перетащите поле на форму мышью, расположив, его справа от надписи " Курс".

Замечание: После перетаскивания поля " Курс" на форму слева от него появится еще одна надпись " Курс". Удалите ее, щелкнув по ней ЛКМ, а затем нажав кнопку " Delete" на клавиатуре.

Отобразим поля " Пол" и " Родители" в виде выпадающих списков (Объект ComboBox ). Для этого, на панели " Источники данных" нажмите кнопку, расположенную справа от поля " Пол" и в выпадающем списке выберите объект для отображения данного поля как " ComboBox" (рис. 17).

Рис. 17.

Такую же операцию проделайте с полем " Родители". Затем перетащите мышью поля на форму, расположив их напротив соответствующих надписей. Удалите лишние надписи.

Теперь заполним выпадающие списки. Выделите выпадающий список, отображающий поле " Пол". На панели свойств ( Properties ) и нажмите кнопку в свойстве " Items" (Элементы списка). Появится окно " String Collection Editor" (Редактор строковых коллекций) (рис. 18).

Рис. 18.

В появившемся окне в отдельных строках наберите элементы выпадающего списка: " Мужской" и " Женский" (рис. 18). Затем нажмите кнопку " Ok".

Для выпадающего списка, отображающего поле " Родители", проделайте аналогичную операцию, только в качестве пунктов списка задайте: " Отец и Мать", " Мать", " Отец" и " Нет" (рис. 19).

Рис. 19.

В заключение отобразим вместо поля " Код специальности" специальность соответствующую заданному коду, при помощи выпадающего списка. При этом сам выпадающий список будет заполнен специальностями из таблицы " Специальности" и при выборе специальности ее код будет автоматически подставляться в поле " Код специальности" таблицы " Студенты".

Поместите справа от надписи " Код специальности", неподключенный ни к каким полям выпадающий список. Для создания выпадающего списка на панели объектов воспользуйтесь кнопкой

 

После создание выпадающего списка подключим его к полю " Код специальности" из таблицы " Студенты" и настроим заполнение списка значениями поля " Наименование специальности" из таблицы студенты. Для этого выделите вновь созданный выпадающий список, отобразите меню действий и в меню действий включите опцию " Use data bound items" (Использовать связанные с данными элементы списка) (рис. 20).

Рис. 20.

В панели действий под опцией " Use data bound items" расположены следующие параметры:

  • Data Source (Источник данных) - определяет таблицу или запрос из которого заполняется список;
  • Display Member (Член отображения) - определяет поле значениями которого заполняется список;
  • Value Member (Член значений) - определяет значения какого поля подставляются в связанное с выпадающим списком поле;
  • Selected Value (Выбранное значение) - определяет связанное с выпадающим списком поле.

Для изменения параметров необходимо нажать кнопку

 

в нутрии поля параметра. Появится древовидная структура выбора источника данных (рис. 21).

Рис. 21.

В нашем случае зададим вышеперечисленные параметры следующим образом:

· Параметр " DataSource" задайте как " Other Data Sources\Project Data Sources\StudentsDataSet\Специальности";

· Параметр " DataMember" задайте как " Наименование специальности";

· Параметр " Value Member" задайте как " Код специальности";

· Параметр " Selected Value" задайте как " СтудентыBindingSource\Код специальности".

После задания всех вышеперечисленных параметров панель действий выпадающего списка примет вид (рис. 22):

Рис. 22.

 

Обратите внимание на то, что на панели невидимых объектов, расположенной в нижней части рабочей области среды разработки, появилось два новых объекта: " СпециальностиBindingSource" и " СпециальностиTableAdapter" (рис. 23).

Рис. 23.

Данные объекты предназначены для заполнения выпадающего списка значениями поля " Наименование специальности" таблицы " Специальности".

После всех вышеперечисленных действий форма, отображающая таблицу " Студенты" примет вид, представленный на рис. 24.

 

Рис. 24.

Проверим работу формы, отображающей таблицу " Студенты". Запустите проект и на главной кнопочной форме нажмите кнопку " Таблица " Студенты" ". Появится форма, имеющая следующий вид (рис. 25):

Рис. 25.

На этом мы заканчиваем работу с формой, отображающей таблицу " Студенты" и переходим к реализации вычислимых полей. Для этого рассмотрим форму, отображающую таблицу " Оценки" (Form5). Рассмотрим вычисление поля " Средний балл" на основе среднего трех полей:

Отобразите форму для таблицы " Оценки", щелкнув ЛКМ по ее вкладке в верхней части рабочей области среды разработки. На форму, справа от поля " Средний балл" поместите кнопку (рис. 26).

Рис. 26.

Задайте свойство " Text" у вновь созданной кнопки как " Вычислить" (рис. 27).

Рис. 27.

Теперь дважды щелкните ЛКМ по кнопке " Вычислить" и в появившемся коде процедуры " Button1_Click" наберите код, представленный на рис. 28, вычисляющий среднее оценок.


Рис. 28.

Теперь проверим, как работает наша вновь созданная кнопка для вычисления поля " Средний балл". Запустите проект и на главной кнопочной форме нажмите кнопку " Таблица " Оценки" ". Появится форма, отображающая таблицу " Оценки", на форме нажмите кнопку " Вычислить". Будет вычислен средний балл по оценкам. Если нажать кнопку сохранения на панели инструментов формы

 

то средний балл будет сохранен в таблицу " Оценки" (рис. 29).

Рис. 29.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-08-31; Просмотров: 710; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.065 с.)
Главная | Случайная страница | Обратная связь