Добрый день

В окне есть DataGrid, привязанный к набору данных A. Под DataGrid'ом есть WindowContainer внутри которого есть DataGrid привязанный к набору данных B.
Набор данных B основан на мудрёном запросе на выборку, основанном на приличном количестве таблиц.

Прошу пояснить как осуществляется процесс добавления записи из набора A в набор B и отобразить сие действо в DataGrid'е окна контейнера.

Делаю следующие шаги.
1. Беру запись из набора A
2. Беру набор B (

var B = Services.GetNewItemByUSI('B');
)
3. Определяю поля и значения
var Fields = new Array(...);
var Values = new Array(...);

4. Использую
AppendRecordInDataset(B, Fields, Values, true);

Прошу помощи в понимании данного процесса.

1. Добавление из A в B.
2. Обновление DataGrid для отображения того что добавили.

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

Нравится

2 комментария

Как я полагаю, надо слать Notify. Вопрос чему - Окну (и там проводить обработку) или Набору данных?

Если есть наборы данных А и В, привязанные через DatasetLink к соответствующим гридам и необходимо скопировать выделенную запись из А в В, то нужно:
var Fields = new Array(имена полей, которые копируем);
var Values = new Array(значение из набора данных А (например, А('Поле1') и т.д.));
AppendRecordInDataset(B, Fields, Values, true);
B.RefreshRecord(B('ID'), true);

Если наборы данных находятся в разных окнах, то надо слать Notify окну, в котором В, а в качестве данных передать набор данных А. Функии копирования поместить в обработку OnNotify окна с В.

Показать все комментарии