|
14.12.2001, 06:15 | #1 |
Участник
|
Отображение связных таблиц. Сплиттер. Автоувеличение индекса. Delete Action.
<pre><font face = arial>
<b>HB_Tutorial_Company</b> <u>Цель проекта:</u> - Изучить работу с отображением связных таблиц, на примере таблицы компаний и связанной с ней таблицы сотрудников этих компаний. Изучить работу со сплиттером. - Создание отчета. - Исследовать возможность добавления такой функциональности, как автоматическое увеличение индекса при вставке новой записи. - Поэкспериментировать с установками Delete Action. <u>Формальное описание проекта:</u> Создать две таблицы: - таблица, содержащая информацию о компании (идентификатор и название компании); - таблица, содержащая информацию о сотрудниках работающих в компаниях из первой таблицы (идентификатор компании, идентификатор сотрудника, имя сотрудника) Таблицы связаны по полю идентификатор компании Далее необходимо создать форму для отображения этой информации в следующем виде: Два Grid Control’а разделенных сплиттером. При выборе в одном из них компании во втором появляется список ее сотрудников. В форме также должна быть предусмотрена возможность вывода отчета по всем компаниям и их сотрудникам в виде соответствующей кнопки. При вставке новой записи поле индекса должно увеличиваться автоматически, как в первом, так и во втором Grid Control’е. При удалении записи в таблице компании, удаляются также все записи сотрудников этой компании из таблицы сотрудников. <u>Детали реализации:</u> Добавлены следующие вспомогательные типы: <B>HB_Tutorial_EmpolyeeName</b> – Для хранения имени сотрудника. На основе типа String. <b>HB_Tutorial_CompanyName</b> – Для хранения названия компании. На основе типа String. <b>HB_Tutorial_EmployeeID</b> – Для хранения идентификатора сотрудника На основе типа integer. <b>HB_Tutorial_CompanyID</b> – Для хранения идентификатора компании. На основе типа integer. Добавлена связь (Relation) на поле таблицы идентификатора компании. Созданы 2 таблицы: <B>HB_Tutorial_Company</b> ID Name Override: InitValue – для автоматического увеличения индекса. Более подробно в базе знаний: <A href="http://www.axforum.info/forums/showthread.php?s=&threadid=256">“Автоматическое увеличение значения поля при создании новой записи"</a> Delete Action: <b>HB_Tutorial_Employee</b> - type: <i>Cascade</i> - подробное описание исследования о типах Delete Action их влияния на удаление записей в связанных таблицах в статье базе знаний: <a href=http://www.axforum.info/forums/showthread.php?s=&threadid=257>“Исследование - Как работают разные типы Delete Actions.”</a> <b>HB_Tutorial_Employee</b> CompanyID -> HB_Tutorial_Company.ID EmploeeID EmploeeName Форма отображения информации: <b>HB_Tutorial_CompanyEmployeeForm</b> Override: ClassDeclaration – объявление переменной класса сплиттера. Init – инициализация сплиттера (в качестве сплиттера используется элемент формы Split) Data sources: <b>HB_Tutorial_Company</b> <b>HB_Tutorial_Employee</b> Joint source - <b>HB_Tutorial_Company.</b> Override: InitValue - для автоматического увеличения индекса. Более подробно в базе знаний: <A href="http://www.axforum.info/forums/showthread.php?s=&threadid=256">“Автоматическое увеличение значения поля при создании новой записи"</a> Design: Group::Split – сплиттер. Override: MouseUp MouseDown MouseMove – работа мышкой со сплиттером <u>Отчет:</u> <b>HB_Tutorial_CompanyEmpReport</b> Просто и быстро создан на основе Wizarda. Затем создан Menu Items->Display для соответствующего отчета и помещен в соответствующий ButtonGroup формы. <u>Результаты:</u> Две статьи добавлены в базу знаний: <A href="http://www.axforum.info/forums/showthread.php?s=&threadid=256">“Автоматическое увеличение значения поля при создании новой записи"</a> <a href=http://www.axforum.info/forums/showthread.php?s=&threadid=257>“Исследование - Как работают разные типы Delete Actions.”</a> </font></pre>
__________________
Гурьев Сергей |
|
|
|