如何使用来自多个数据源的字段创建查找?

2024-02-12

我需要在表单字段中创建动态查找,该字段应显示来自两个不同数据源的字段。我尝试将其执行为:

  public void lookup()
  {

    query = new Query();
   sysTableLookup = SysTableLookup::newParameters(tableNum(smmBusRelTable), this);
  qbds = query.addDataSource(tablenum(smmBusRelTable));
 // qbds.addDataSource(tableNum(DirPartyTable));
 //qbds.relations(true);

sysTableLookup.parmQuery(query);   
sysTableLookup.addLookupField(fieldNum(smmBusRelTable, Busrelaccount));
//sysTableLookup.addLookupfield(fieldNum(DirPartyTable, Name));


 sysTableLookup.performFormLookup();
}

注释行是我尝试执行的添加不同数据源的操作。


据我所知 SysTableLookup 类不支持显示其他表中的字段。 addLookup() 方法不采用 TableId,并假定所有字段都位于查询的第一个数据源中。

您可以编写自己的 SysTableLookup 版本,支持引用各种表中的字段。一种更简单、更实用(且更便宜)的方法可能是在 SmmBusRelTable 上创建一个显示方法,以从 DirPartyTable 中获取名称(如果它尚不存在)并将其用作查找中的字段。如果我没记错的话,支持主表上的显示方法。

根据您想要完成的具体任务,可能有一种更简单的方法。您可以将显示方法添加到 SmmBusRelTable 的 AutoLookup 表字段组中,并避免重写 Lookup() 方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用来自多个数据源的字段创建查找? 的相关文章

随机推荐