Автозагрузка в виде сетки в соответствии с выбранным значением ячейки - PullRequest
0 голосов
/ 14 апреля 2010

Я создал сетку для таблицы Leavemaster и таблицы таблицы приложений. В LeaveMaster есть поле LeaveId и внешний ключ в таблице LeaveApplication.

Я хочу, чтобы, когда я выбираю LeaveId в таблице LeaveAppliation, автоматически связанные поля, такие как LeaveName, заполнялись согласно LeaveId.

Ответы [ 2 ]

0 голосов
/ 14 апреля 2010

Если у вас есть больше полей для отображения, рассмотрите возможность использования outer-join. В форме LeaveApplicationTable добавьте LeaveMasterTable в качестве вторичного источника данных и используйте outer-join в качестве joinMode (Allow-Edit: false).

Добавить метод modified в поле LeaveId в источнике данных LeaveApplicationTable:

public void modified()
{
    super();
    leaveMasterTable.data(LeaveMasterTable::find(leaveApplicationTable.LeaveId));
    leaveMasterTable_ds.refresh()
}

Также измените методы validateWrite и write источника данных LeaveMasterTable, чтобы не изменять какие-либо данные:

public boolean validateWrite()
{
     return true;
}

public void write()
{
     //super();
}
0 голосов
/ 14 апреля 2010

Если вы хотите показать только leaveName, используйте метод отображения, определенный для LeaveApplicationTable:

display EmplName leaveName()
{
    return LeaveMasterTable::find(this.LeaveId).Name;
}
...