UI工廠學習一

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章