在Purchtable
表单中,我有一个StringEdit
控件。
当我在PurchId
控件中输入StringEdit
时,它应该作为搜索,并应检索网格中的当前PurchId。
答案 0 :(得分:1)
将修改后的方法添加到控件方法节点:
public boolean modified()
{
boolean ret = super();
;
SysQuery::findOrCreateRange(purchTable_ds.queryRun().query().dataSourceNo(1), fieldNum(PurchTable,PurchId)).value(this.text());
purchTable_ds.research();
return ret;
}
这会向PurchId
数据源添加PurchTable
查询范围,用您输入的值填充它,然后对数据源进行研究。
答案 1 :(得分:1)
你可以接受Jan的答案,我只想添加一个小的修正 - 我认为它不适用于research
,应该executeQuery
代替:
public boolean modified()
{
Query q;
QueryBuildDataSource qbds;
QueryBuildRange qbr;
boolean ret;
;
ret = super();
q = purchTable_ds.queryRun().query();
qbds = q.dataSourceTable(tablenum(PurchTable));
qbr = SysQuery::findOrCreateRange(qbds, fieldNum(PurchTable,PurchId));
qbr.value(this.text());
PurchTable_ds.executeQuery();
return ret;
}
无论如何,测试它。