Я в настоящее время работаю в проблему со следующей ситуацией:Выделите запись в сетке по форме открытой
У меня есть правильное событие щелчка, который выполняет статический метод «inventTransferOrder». В том, что у меня есть следующий код:
select firstOnly invTransLine
where invTransLine.TransferId == invTrans.TransferId
&& invTransLine.LineNum == invTransLineNum;
args.record(invTransLine);
new MenuFunction(menuitemDisplayStr(InventTransferOrder), MenuItemType::Display).run(args);
В (InventTransferOrders, предписывающие за пункт меню InventTransferOrder) формы в метод инициализации Я выполняющийся следующий код:
InventTransferLine invTransLine;
QueryBuildDataSource qbds;
QueryBuildRange qbr;
;
invTransLine = element.args().record();
qbds = InventTransferLine_Q.dataSourceTable(tableNum(InventTransferLine));
qbr = qbds.addRange(fieldNum(InventTransferLine, LineNum));
qbr.value(strFmt('%1', invTransLine.LineNum));
Это делает точно то, что он должен делать: он фильтрует сетку, используя источник данных «InventTransferLine» для одной записи с соответствующим LineNum.
В отличии от этого, мне нужно, чтобы показать всех записей (InventTransferLine получает предварительно фильтр, чтобы показывать только строки для записи InventTransfer, который выбран) НО одна записи с согласующей LINENUM должна быть выделены так, что пользователь может сразу начать работать с этой строкой.
Может ли кто-нибудь помочь мне с этим?
Я использовал следующий код, но он (визуально) ничего не делает:
InventTransferLine_DS.findRecord(invTransLine);
InventTransferLine_DS.mark(true);
Я был бы признателен за любую помощь.
Большое спасибо и приветствую
Вау, это довольно простое и понятное решение. Я просто переместил вызов метода и метода из формы/init в datasource/executeQuery, и он работает отлично. TIL executeQuery удаляет предыдущую маркировку/выборку. Большое спасибо! – Tekumi