UI工厂学习一

来源:互联网 发布:函数式编程思维 pdf 编辑:程序博客网 时间:2024/04/19 07:21

1、单据模型:任何可以抽象为主子表模型的业务数据。入库单 、出库单…….目前UAP还只支持到这种常见的数据模型.

2、BillUIBuffer:客户端对数据的缓存.内部是通过ArrayList来实现的.通过setCurrentRow()可以设置选择的行号.通过getBufferData().addVOToBuffer()可以将vo设置进缓存.编辑的时候并非操作的缓存数据,只有保存后,缓存数据才得到更新.

String where = "isnull(dr,0)=0";
        nc.ui.trade.bsdelegate.BDBusinessDelegator delegator 
= new nc.ui.trade.bsdelegate.BDBusinessDelegator();
        nc.vo.pub.SuperVO[] vos 
= null;
        
try {
            vos 
= delegator.queryByCondition(
                    nc.vo.syys.all.ClassifypropVO.
class, where);
        } 
catch (Exception e) {
            
this.showErrorMessage("加载单据数据发生错误");
            e.printStackTrace();
        }
        
if (vos != null && vos.length != 0) {
            
for (int i = 0; i < vos.length; i++) {
                nc.vo.trade.pub.HYBillVO bill 
= new nc.vo.trade.pub.HYBillVO();
                bill.setParentVO(vos[i]);
                getBufferData().addVOToBuffer(bill);
            }
        }
        
try {
            setListHeadData(vos);
            setBillOperate(nc.ui.trade.base.IBillOperate.OP_NOTEDIT);
        } 
catch (Exception e) {
            e.printStackTrace();
        }

        
if (getBufferData().isVOBufferEmpty())
            getBufferData().setCurrentRow(
-1);
        
else
            getBufferData().setCurrentRow(
0);

 

原创粉丝点击