Показать сообщение отдельно
Старый 14.12.2001, 06:15   #1  
sguryev is offline
sguryev
Участник
 
24 / 13 (1) ++
Регистрация: 07.12.2001
Адрес: Сергиев Посад
Post Отображение связных таблиц. Сплиттер. Автоувеличение индекса. 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>
Вложения
Тип файла: xpo hb_tutorial_company.xpo (63.1 Кб, 685 просмотров)
Тип файла: img440-1 (42.6 Кб, 795 просмотров)
__________________
Гурьев Сергей