Farseer

导航

【项目实施随笔】依然Dialog

在写一个自动生成销售订单行的小程序,大部分物料的数量都是预先定义好的,可以让用户定义一个BOM,直接根据BOM生成销售订单行就可以了,有一个物料需要从几个物料中选择,于是我想在创建之前弹出一个窗口,让用户选择,又想到了Dialog这个类,唯一的问题是,如果直接用
dialog.addField(TypeId(ItemId));
添加字段,不会过滤,那么全部的物料都出来了,实际上用户只需要从有限的几个物料中选择,所以要想办法过滤掉才对,于是想到了重载Lookup的做法。步骤如下:
1.创建一个类AlxInventTableDialogHelper
添加一个类变量Dialog,用于把Dialog变量传入类AlxInventTableDialogHelper,供在重载后的Lookup方法中调用。并添加一个方法,用来封装对Dialog变量的读写。
Dialog parmDialog(Dialog _dialog = dialog)
{
    ;
    dialog 
= _dialog;
    
return dialog;
}
添加一个方法,重载lookup方法:
Code
2.使用上面的类创建Dialog
Code
效果如下:

这样就只会显示 001 组的物料了。

posted on 2009-07-21 14:29  佛西亚  阅读(833)  评论(9编辑  收藏  举报