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 );
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 );