Изменение данных для справочников.

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

Задача состоит в том чтобы:

  1. После нажатия кнопки изменить (на панели быстрых кнопок), у нас построился интерфейс и в него были вписаны данные той строки (из таблицы), которую мы собираемся менять.
  2. При подтверждении изменения у нас изменились данных соответствующей строки в таблице,
  3. Вызовем функцию Commit(), которая проведет изменение в файле
  4. Вызовем функцию Refresh(), для обновления данных в таблице.

Также по аналогии с предыдущей работой необходимо правильно отслеживать события, которые мы будем присваивать кнопкам на интерфейсе пользователя. И стоит заметить, что если мы создаем какую-либо функцию и добавляем ее в интерфейс «IDocuments», эту функцию с пустым телом необходимо создать во всех остальных классах, в противном случае программа не будет собираться.

Преступим к реализации. Для начала добавим следующие функции в класс справочника №1.

Изменение данных для справочников. - student2.ru

InitDataBeforUpdate будет вызваться после того как построится интерфейс пользователя, мы в нее передадим «ID» выбранной строки, и по «ID» в имеющиеся компоненты мы подставим значения, которые в последствии будем менять.

Следующая функция будет выполняться после того как мы подтвердим изменения.

Изменение данных для справочников. - student2.ru

Естественно эти функции надо прописать в «IDocuments».

Теперь, сделаем так, чтобы эти функции вызывались. Для этого проделаем следующие шаги в файле реализации рабочей формы.

  1. Для начала сделаем две удобные функции, которые сократят нам объем кода. Эти функции необходимы для того чтоб включать и выключать кнопки на панели «ToolStrip».

Изменение данных для справочников. - student2.ru

  1. Создадим событие, которое будет наступать при подтверждении на изменение. Основная задача данного события вызвать функцию UpdateDataTable и передать в нее «ID» выбранной нами строки, чтобы изменения произошли в «DataSet».

Изменение данных для справочников. - student2.ru

  1. Создадим событие, которое будет наступать при нажатии на кнопку изменить расположенную на панеле «ToolStrip»

Изменение данных для справочников. - student2.ru

  1. Естественно, что событие активации рабочей формы после этого измениться и станет вот таким.

Изменение данных для справочников. - student2.ru

  1. Событие деактивации формы также измениться.

Изменение данных для справочников. - student2.ru

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

Изменение данных для справочников. - student2.ru

Теперь если мы запустим программу, и проведем процедуру изменения данных, у нас должны измениться данные в справочнике №1. Стоит заметить, что код в фале реализации рабочей формы должен выглядеть следующим образом.

Изменение данных для справочников. - student2.ru

Следующим образом должен выглядеть класс для справочника №1 и все остальные по аналогии.

Единственное, стоит заметить, в классах входных документов будут еще функции.

Изменение данных для справочников. - student2.ru

Самостоятельно.

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

Лабораторная работа №9

Цель: Удаление данных.

Для выполнения лабораторной работы №9 необходимо выполнить все шаги предыдущих лабораторных работ.

Удаление данных.

Процесс удаление данных намного проще, чем процессы добавление и изменения, так как для него нет необходимости строить интерфейс, данные должны удаляться по нажатию кнопки на панеле быстрых кнопок. Удаление будет происходить из «DataSet» после того как данные будут удалены из него мы перезапишем информацию в файл, после этого его заново прочитаем, тем самым визуально будет казаться что произошло удаление.

Для работы данного процесса нам понадобятся следующие события и функции.

  1. Создать событие для кнопки на панеле быстрых кнопок.
  2. Организовать присваивание в событии активации рабочей формы.
  3. Снять присваивание события в момент деактивации формы.
  4. Создать описание функции удаления в интерфейсе.
  5. Создать функцию удаления информации из «DataSet» для каждого документа кроме выходного.
  6. Вызвать функцию Commit() после того как данные будут удалены из «DataSet».
  7. Обновить данные функцией Refresh().

Преступим к реализации. Для начала добавим следующие функции в класс справочника №1.

  1. Создадим функцию, которая будет удалять строку соответствующего кода из таблицы.

Изменение данных для справочников. - student2.ru

  1. Не забудем подключить данную функцию в интерфейсе «IDocuments».
  2. Для остальных документов создадим временную заглушку, чтобы не было ошибки при запуске программы.

Изменение данных для справочников. - student2.ru



  1. В файле реализации рабочей формы создадим событие для кнопки удалить.

Изменение данных для справочников. - student2.ru

  1. Подключим это событие в момент активации формы.

Изменение данных для справочников. - student2.ru

  1. Отключим событие в момент деактивации рабочей формы.

Изменение данных для справочников. - student2.ru

  1. Запустим программу. Если все правильно сделано то когда мы будем нажимать кнопку удалить у нас будут удаляться данные из справочника №1.

Самостоятельно.

  1. Для остальных документов и справочника сделать так, чтобы можно было удалять данные.
  2. Для пунктов меню «Добавить», «Удалить», «Изменить» сделать так чтобы они дублировали нажатие кнопок на панеле быстрых кнопок.
  3. Кнопка «Обновить» и пункт меню «Обновить», должны обновлять данные в таблице, т.е. по нажатию этих кнопок должна вызываться функция Refresh() соответствующего документа.

Наши рекомендации