您可能知道,这是一种动态设置字段值的好方法。
myTable.(fieldName2Id(myTable.TableId, fieldNameStr)) = "This value";
myTable.insert();
我想知道的是,如果有任何方法以类似的方式使用显示方法,只是从它们动态获取值?
如果我有显示方法名称(即itemName())我该怎么做...? 这样的事情来证明我的想法:
methodNameStr = "ItemName";
myTable.myField = mytable.(methodName2Id(myTable.TableId, methodNameStr));
myTable.insert();
答案 0 :(得分:3)
使用DictTable.callObject
( medhodName ,缓冲区)。
Common myTable;
DictTable dt;
//<SampleOnly>
str methodNameStr = "itemDescriptionOrName";
InventTable tmpTab;
select firstOnly tmpTab;
myTable = tmpTab;
//</SampleOnly>
dt = new DictTable(myTable.TableId);
dt.callObject(methodNameStr, myTable);
info(strFmt("%1", dt.callObject(methodNameStr, myTable)));