我正在寻找我的问题的解决方案。我有2列,并且从查找中获取了第一个数据。但是是否也可以用数据更新第二列?在第一列中,我获得了一个ID,并且希望它使用该ID的NAME自动更新第二列。完成
public void lookup()
{
Query query = new Query();
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
HcmWorkerStaging hcmworkerstaging;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(HCMWORKERSTAGING), this);
sysTableLookup.addLookupField(fieldNum(HCMWORKERSTAGING, PhoneticMiddleName));
sysTableLookup.addLookupField(fieldNum(HCMWORKERSTAGING, NameAlias));
queryBuildDataSource = query.addDataSource(tableNum(HCMWORKERSTAGING));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
// super();
}
是有可能。
您必须重写该字段的modified
方法(与您进行查找的字段相同)。
根据您的代码的示例:] >>
[Modified
方法在Lookup
方法之前执行,并且具有所选的值。
public void modified()
{
HcmWorkerStaging hcmworkerstaging;
super();
select * from hcmworkerstaging where hcmworkerstaging.PhoneticMiddleName == YourDataSource.YourField1;
if(hcmworkerstaging)
{
YourDataSource.YourField2 = hcmworkerstaging.NameAlias;
}
}
谢谢!它的工作,但偏。值还可以,但是当我再次更改时,它没有进行修改以匹配新的ID。无论如何,我还有最后一个问题,但如果我应该为此做一个提示线程,则有idk。我需要为NAME创建一个动态过滤器。对于我键入的每个字符,它都会过滤并给出包含某个字母或单词的值。仅在其中进行过滤以搜索第一个匹配的单词:/