Добрый день
В окне есть DataGrid, привязанный к набору данных A. Под DataGrid'ом есть WindowContainer внутри которого есть DataGrid привязанный к набору данных B.
Набор данных B основан на мудрёном запросе на выборку, основанном на приличном количестве таблиц.
Прошу пояснить как осуществляется процесс добавления записи из набора A в набор B и отобразить сие действо в DataGrid'е окна контейнера.
Делаю следующие шаги.
1. Беру запись из набора A
2. Беру набор B (
3. Определяю поля и значения
var Values = new Array(...);
4. Использую
Прошу помощи в понимании данного процесса.
1. Добавление из A в B.
2. Обновление DataGrid для отображения того что добавили.
Возможно вопрос тривиальный, но в таком случае хотелось бы тем более иметь чёткое представление.
Нравится
Как я полагаю, надо слать Notify. Вопрос чему - Окну (и там проводить обработку) или Набору данных?
Если есть наборы данных А и В, привязанные через DatasetLink к соответствующим гридам и необходимо скопировать выделенную запись из А в В, то нужно:
var Fields = new Array(имена полей, которые копируем);
var Values = new Array(значение из набора данных А (например, А('Поле1') и т.д.));
AppendRecordInDataset(B, Fields, Values, true);
B.RefreshRecord(B('ID'), true);
Если наборы данных находятся в разных окнах, то надо слать Notify окну, в котором В, а в качестве данных передать набор данных А. Функии копирования поместить в обработку OnNotify окна с В.