请点击这里到最新论坛,这是由搜索引擎产生的静态网页,不保证连接及格式有效,

[原创]怎样在下拉框中显示有过滤条件的数据-经验总结 [秋毫ERP(Axapta Oracle SAP专业论坛]

作者:admin 时间:2006-3-7 11:03:52
[原创]怎样在下拉框中显示有过滤条件的数据-经验总结

[原创]怎样在下拉框中显示有过滤条件的数据-经验总结
比如要在下拉框中显示ItemID,但是只显示ItemGroup='Group1' 且 ItemType='Bom'的物项,那么传统的使用扩展类型的方法就不使用了,因为扩展类型不能动态传递参数(Itemgroup和ITEMTYPE)。
方法1,
在InventTable里建立一个方法,lookupItemByItemTypeGroup,
client static void lookupItemByItemTypeGroup(FormStringControl   lookupCtrl,
                                 ItemGroupId   ItemGroupId,ItemType _ItemTYpe=ItemType::BOM)
{
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tableNum(InventTable), lookupCtrl);
    Query                   query = new Query();
    QueryBuildDataSource    queryBuildDataSource = query.addDataSource(tableNum(InventTable));
    QueryBuildRange         queryBuildRange = queryBuildDataSource.addRange(fieldNum(InventTable, ItemGroupId));
    QueryBuildRange         queryBuildRange1 = queryBuildDataSource.addRange(fieldNum(InventTable, ItemType));
     ;
    QueryBuildRange.value(ItemGroupId);
    QueryBuildRange1.value(enum2str(_ItemTYpe));

    sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId));
    sysTableLookup.addLookupfield(fieldNum(InventTable, ItemName));

    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
}
第二步,重载下拉框的lookup的方法。
public void lookup()
{
   // super();//注意,一定要注释,意思是不执行父类的方法而执行当前类的方法,若不注释则出现两个下拉框。
   ;
    inventtable::lookupItemByItemTypeGroup(this,'Group1',ItemType::BOM);
}
方法2,就是直接在控件的lookup方法下写上面的代码,这样就没有扩展性,但是有的时候还是可以选择。

当下拉框需要从多个表过滤条件时,上面的方法就不起作用了。这个时候,我们需要建立一个View,然后把view当作表使用上面的方法,就可以实现了。
比如我们要在下拉框中选择工单,条件是ITemGroupID是"Group1"的物项,这样就需要关联两个表,过滤Inventtable的ItemGroupID.
若有问题可以提问,我再回答,但是,只要自己思考一下的话,一般不是问题。


作者:lingdanglfw 发表时间:2006-6-28 11:56:29

第二步,重载下拉框的lookup的方法。
public void lookup()
{
   // super();//注意,一定要注释,意思是不执行父类的方法而执行当前类的方法,若不注释则出现两个下拉框。
   ;
    inventtable::lookupItemByItemTypeGroup(this,'Group1',ItemType::BOM);
}

where to code ?

which form?

which class?

or else?


作者:admin 时间:2006-6-28 11:58:44

一般时stredit的lookup方法下。
作者:lingdanglfw 发表时间:2006-7-17 10:01:34

i have passed the code test, thanks

自2005年4月15日始, 你是第个访问本站, 【联系我们】