我在表单字符串控件上使用自定义查找代码。它工作得很好,除非该字段中有任何文本。然后,它总是返回空白,除非在字段中输入的内容与列表中的值完全匹配。我的偏好是将字段中的文本用作 startsWith 过滤器(并且在我制作值列表时已经解决),但在这一点上,我会很高兴即使出现完整列表,而不是空白。
public static client void lookupList(FormStringControl _formStringControl, List _valueList)
{
ListIterator valueIterator;
myLookupTempTable tempLookupTable;
SysTableLookup sysTableLookup;
if (_formStringControl && _valueList && _valueList.typeId() == Types::String)
{
valueIterator = new ListIterator (_valueList);
while (valueIterator.more())
{
tempLookupTable.Value = valueIterator.value();
tempLookupTable.insert();
valueIterator.next();
}
sysTableLookup = SysTableLookup::newParameters(tableNum(myLookupTempTable), _formStringControl);
sysTableLookup.addLookupfield(fieldNum(myLookupTempTable, Value), true);
sysTableLookup.parmTmpBuffer(tempLookupTable);
sysTableLookup.performFormLookup();
//dispose of the temp table
tempLookupTable = null;
}
}