如何在提示查询中添加另一个数据源?

How to add another DataSource in prompt Query?

我想在查询提示中添加另一个数据源。

启动表单时,我会打开提示查询。

在我的表单 init 方法中,我有:

QueryRun queryRun;

super();

queryRun = new QueryRun(TableA_ds.query());
if (! queryRun.prompt())
{
     element.close();
}

TableA_ds.query(queryRun.query());

在我的表单数据源中,在 init 方法中,我将这段代码用于设置我的查询范围:

tableA_ds.query().dataSourceTable(tablenum(TableA)).addRange(fieldnum(TableA,FieldtableA)).value(SysQuery::valueUnlimited() );

我想添加另一个数据源(另一个 table)- TableB。 我使用了这段代码:

purchLine_ds.query().dataSourceTable(tablenum(TableB)).addRange(fieldnum(TableB,FieldtableB)).value(SysQuery::valueUnlimited() );

但是当我启动一个表单时,我只查看了 TableA 中的记录查询范围

表 A 与表 B 的关系在字段 PurchId 上。 我想看到两个范围。有人能帮我吗? 感谢您的宝贵时间。

尽情享受吧!

我认为您可以添加另一个数据源: purchLine_ds.query().dataSourcetable(TableA).addDatasource(tablenum(TableB); purchLine_ds.query().dataSourcetable(TableB).relations(true)

感谢 Alex 的帮助, 我用这个代码, 在我的表单初始化方法中:

query q = new Query();
QueryBuildDataSource qbds, qbds2;
QueryRun queryRun;

qbds = Q.addDataSource(tableNum(TableA));
qbds.addRange(fieldnum(TableA,Field1TableA)).value(SysQuery::valueUnlimited());
qbds2 = qbds.addDataSource(tableNum(TableB));
qbds2.relations(true);

并启动查询, 工作顺利,

尽情享受吧!