Автопоиск в виде сетки в соответствии с выбранным значением ячейки

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

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


person Bhavin Sankhat    schedule 14.04.2010    source источник


Ответы (2)


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

display EmplName leaveName()
{
    return LeaveMasterTable::find(this.LeaveId).Name;
}
person Jan B. Kjeldsen    schedule 14.04.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();
}
person Jan B. Kjeldsen    schedule 14.04.2010