Lookup forms

这一部分来自 MSDN

某些Form上的字段,用户可以通过从另一个Form来选取值。这些控件都有一个Lookup按钮(Lookup button)。但用户单击这个按钮时,对应的Lookup form就会打开。 Lookup form显示所有可能的值,并显示一些相关信息来帮助用户做正确的选择。比如,用户需要选择一个帐号,lookup form也许会显示帐号名来帮助用户选择正确的帐号。

lookup form上显示的内容取决于DataBase 表上设置的关系或字段的EDT。

 

Lookup forms包含以下组成部分:

相关表的TitleField1(属性TitleField1)

相关表的TitleField2(属性TitleField2)

用于建立关联关系的字段

 

如果这些字段有相同的,那么系统自动去除重复。

 

如何创建一个标准的Lookup form,请阅读Create Lookup Forms

 

Lookup按钮是否可见,是由控件上的Lookup button属性控制的。

 

以下部分来源于:http://www.qiuhao.com/boke.asp?maxfara.showtopic.5.html

点击浏览该文件
例子里面演示了两种最常用的自定义Lookup代码用法。
Lookup窗体可以由系统自动生成,也可以通过自定义方式产生。自定义的方式很多,例子里面只演示了两种比较常用的方法。如那位网友愿意提供其他用法的代码,欢迎来邮件指教,我会将代码增加到当前工程里面去,谢谢。
本工程里面引用了Andy写的一个函数,来自http://www.qiuhao.com/dispbbs.asp?boardID=2&ID=26&page=2 。
注:导入附件不会改变Axapta原有的代码,增加了一个Form而已。

关键代码:
通过方法生成lookup:
//本函数来自andy的代码
//出处:http://www.qiuhao.com/dispbbs.asp?boardID=2&ID=26&page=2
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();
}
public void lookup()
{
    ;
    element.lookupItemByItemTypeGroup(this,''Lamps'',ItemType::BOM);
    // super();
}

LookUp更加详细的信息可以参考微软的资料:http://msdn.microsoft.com/en-us/library/aa592952(AX.10).aspx


通过自定义Form增加Lookup内容:
详见附件里面的Form内容。

如果LOOKUP不能用,可以检查:

1:控件的LookUp属性是否被关闭了

2:检查EDT的Relation

3:查看Lookup方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值