nc65 树单据类型教程
实现效果:
实现思路
1. 可以完全手写,也可以先利用向导生成一个 主子VO的单据,然后在调整界面样式:去掉列表模板,替换左侧树
1. 实现方式二
可以先想到生成一个 标准的主子类型单据,
再使用附件中的XML替换, 并将xml文件中zl备注的地方,根据需要修改成自己的
2.后续代码实现
1. TreeManagerMediator.java 持有 左侧树面板的 model 和 右侧 单据的 model
2.TreeManagerMediator中对两个model新添加了监听,根据监听到的事件进行 业务处理
1. 主要是, 节点打开的时候,预加载左侧树的数据出
2. 左侧树切换的时候,根据切换事件,进行右侧数据的加载和初始化
<!--************************************************************************************************************************************-->
一:xml文件源代码
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 环境变量 -->
<bean id="context" class="nc.vo.uif2.LoginContext"/>
<!-- 模型部分配置*********************************************************** -->
<!-- 对象转换器工厂,由此获取操作对象的特征信息 -->
<bean id="BOAdapterFactory" class="nc.vo.bd.meta.GeneralBDObjectAdapterFactory">
<property name="mode" value="MD"/>
</bean>
<!-- 对象转换器工厂,由此获取操作对象的特征信息 -->
<bean id="boadatorfactory" class="nc.ui.pubapp.uif2app.view.value.AggVOMetaBDObjectAdapterFactory"/>
<!-- 管理应用模型 -->
<bean id="manageAppModel" class="nc.ui.pubapp.uif2app.model.BillManageModel">
<property name="businessObjectAdapterFactory" ref="boadatorfactory"/>
<property name="context" ref="context"/>
</bean>
<!-- 应用服务类,负责进行模型操作的处理 -->
<!-- zl 需要修改成自己的代理类 -->
<bean id="bmModelModelService" class="nc.ui.fdc_crmbd.h3h001.ace.serviceproxy.AceH3H001MaintainProxy"/>
<!-- liyf树1 :增加 树视图元素 -->
<bean id="treePanel" class="nc.ui.uif2.components.TreePanel" init-method="initUI">
<property name="model" ref="HAppModel"/>
</bean>
<!-- zl 树2:增加树应用模型 -->
<bean id="HAppModel" class="nc.ui.uif2.model.HierachicalDataAppModel">
<property name="service" ref="HModelService"/>
<property name="treeCreateStrategy" ref="treeCreateStrategy"/>
<property name="businessObjectAdapterFactory" ref="bdboadatorfactory"/>
<property name="context" ref="context"/>
</bean>
<!-- zl 树2.1:树model查询服务类 nc.ui.uif2.model.IAppModelService -->
<bean id="HModelService" class="nc.ui.fdc_crmbd.h3h001.ace.tree.QueryService"/>
<!-- zl 树2.2:层次结构构造策略 -->
<bean id="treeCreateStrategy" class="nc.vo.bd.meta.BDObjectTreeCreateStrategy">
<property name="factory" ref="bdboadatorfactory"/>
<property name="rootName" value="指标分类"/>
<span style="white-space:pre"> </span><property name="hierarchicalData" ref="defaultHierachicalData" />
<span style="white-space:pre"> </span></bean>
<span style="white-space:pre"> </span> <!-- zl 树2.21:指定树构造的策略是否按照编码 -->
<span style="white-space:pre"> </span><bean id="defaultHierachicalData" class="nc.vo.bd.meta.DefaultHierachicalData">
<span style="white-space:pre"> </span><property name="codeTree" value="true" />
<span style="white-space:pre"> </span><property name="codeRule" value="2/2/2" />
<span style="white-space:pre"> </span></bean>
<!-- zl 树2.3:单表VO数据转换工厂 -->
<bean id="bdboadatorfactory" class="nc.vo.bd.meta.BDObjectAdpaterFactory"/>
<!-- liyf 树3:增加树应用模型管理器 nc.ui.uif2.model.IAppModelDataManager -->
<bean id="treeModelDataManager" class="nc.ui.fdc_crmbd.h3h001.ace.tree.TreeMoeldataManager">
<property name="model" ref="HAppModel"/>
</bean>
<!-- zl 树4:增加xxxMediator,对左树和右应用模型管理器管理 (a.增加的监听,抓取事件 b.负责事件的中转) -->
<bean id="treeManagerMediator" class="nc.ui.fdc_crmbd.h3h001.ace.tree.TreeManagerMediator">
<property name="treeModel" ref="HAppModel"/>
<property name="manageModel" ref="bmModel"/>
<property name="manageModelMng" ref="bmModelModelDataManager"/>
</bean>
<!-- 层次结构构造策略 -->
<!-- 模型元素 -->
<!--========= 模型元素:[PUBAPP平面模型(BillManageModel)实例对象] ==========-->
<bean id="bmModel" class="nc.ui.pubapp.uif2app.model.BillManageModel">
<property name="context">
<ref bean="context"/>
</property>
<property name="businessObjectAdapterFactory">
<ref bean="BOAdapterFactory"/>
</property>
</bean>
<!-- 数据模型管理器,主要负责各种方式的模型初始化 -->
<bean id="bmModelModelDataManager" class="nc.ui.pubapp.uif2app.query2.model.ModelDataManager">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="service">
<ref bean="bmModelModelService"/>
</property>
</bean>
<!-- 模板容器,负责对模板的统一装载 -->
<bean id="templateContainer" class="nc.ui.pubapp.uif2app.view.TemplateContainer" init-method="load">
<property name="context" ref="context"/>
<property name="nodeKeies">
<list>
<value>bt</value>
</list>
</property>
</bean>
<!--====== 视图元素:[PUBAPP表单控件(ShowUpableBillForm)实例对象] ==============-->
<bean id="billForm" class="nc.ui.pubapp.uif2app.view.ShowUpableBillForm" init-method="initUI">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="nodekey" value="bt"/>
<!-- 表体行操作按钮注册,这只是一组默认设置,开发人员需要自己在此添加其他需要的表体行操作按钮 -->
<property name="bodyLineActions">
<list>
<bean class="nc.ui.pubapp.uif2app.actions.BodyAddLineAction"/>
<bean class="nc.ui.pubapp.uif2app.actions.BodyInsertLineAction"/>
<bean class="nc.ui.pubapp.uif2app.actions.BodyDelLineAction"/>
</list>
</property>
</bean>
<!-- 界面布局总装*********************************************************** -->
<bean id="container" class="nc.ui.uif2.TangramContainer" init-method="initUI">
<property name="tangramLayoutRoot">
<bean class="nc.ui.uif2.tangramlayout.node.TBNode">
<property name="tabs">
<list>
<bean class="nc.ui.uif2.tangramlayout.node.HSNode">
<property name="left">
<bean class="nc.ui.uif2.tangramlayout.node.CNode">
<property name="component">
<!-- zl 将原来的容器替换成树panel -->
<ref bean="treePanel"/>
</property>
</bean>
</property>
<property name="right">
<bean class="nc.ui.uif2.tangramlayout.node.CNode">
<property name="component">
<ref bean="billForm"/>
</property>
</bean>
</property>
<property name="name" value="卡片"/>
</bean>
</list>
</property>
<property name="name" value="cardLayout"/>
<property name="showMode" value="CardLayout"/>
</bean>
</property>
<property name="actions">
<list>
<ref bean="addAction"/>
<ref bean="editAction"/>
<ref bean="deleteScriptAction"/>
<ref bean="defaultQueryAction"/>
<ref bean="copyAction"/>
<ref bean="separatorAction"/>
<ref bean="defaultRefreshAction"/>
<ref bean="separatorAction"/>
<ref bean="commitScriptAction"/>
<ref bean="unCommitScriptAction"/>
<ref bean="approveScriptAction"/>
<ref bean="uNApproveScriptAction"/>
<ref bean="separatorAction"/>
<ref bean="linkQueryAction"/>
<ref bean="separatorAction"/>
<ref bean="metaDataBasedPrintAction"/>
<ref bean="metaDataBasedPrintActiona"/>
<ref bean="outputAction"/>
<ref bean="separatorAction"/>
<ref bean="pFApproveStatusInfoAction"/>
</list>
</property>
<property name="editActions">
<list>
<ref bean="saveScriptAction"/>
<ref bean="cancelAction"/>
</list>
</property>
<property name="model">
<ref bean="bmModel"/>
</property>
</bean>
<!-- 打开节点监听 newadd-->
<bean id="InitDataListener" class="nc.ui.pubapp.uif2app.model.DefaultFuncNodeInitDataListener">
<property name="model" ref="bmModel"/>
<property name="context" ref="context"/>
<property name="voClassName" value="nc.vo.fdc_crmbd.h3h001.AggFdcxmda"/>
</bean>
<!-- ClosingListener 编辑态关闭节点时提示是否保存//newadd***************************************************-->
<!-- 节点关闭前校验 -->
<bean id="ClosingListener" class="nc.ui.pubapp.common.validateservice.ClosingCheck">
<property name="model" ref="bmModel"/>
<property name="saveAction" ref="saveScriptAction"/>
</bean>
<!--懒加载信息配置*******************************************************-->
<!--懒加载,加载表体数据-->
<bean id="billLazilyLoader" class="nc.ui.pubapp.uif2app.lazilyload.DefaultBillLazilyLoader"/>
<bean id="bmModelLasilyLodadMediator" class="nc.ui.pubapp.uif2app.lazilyload.LazilyLoadManager">
<property name="model" ref="bmModel"/>
<property name="loader" ref="billLazilyLoader"/>
<property name="lazilyLoadSupporter">
<list>
<bean class="nc.ui.pubapp.uif2app.lazilyload.CardPanelLazilyLoad">
<property name="billform" ref="billForm"/>
</bean>
</list>
</property>
</bean>
<!-- 事件监听newadd -->
<bean id="bmModelEventMediator" class="nc.ui.pubapp.uif2app.model.AppEventHandlerMediator">
<property name="model" ref="bmModel"/>
<property name="handlerGroup">
<list>
<!-- nc.ui.pubapp.uif2app.event.OrgChangedEvent -->
<bean class="nc.ui.pubapp.uif2app.event.EventHandlerGroup">
<property name="event" value="nc.ui.pubapp.uif2app.event.OrgChangedEvent"/>
<property name="handler">
<bean class="nc.ui.fdc_crmbd.h3h001.ace.handler.AceOrgChangeHandler">
<property name="billForm" ref="billForm"/>
</bean>
</property>
</bean>
<!-- nc.ui.pubapp.uif2app.event.billform.AddEvent -->
<bean class="nc.ui.pubapp.uif2app.event.EventHandlerGroup">
<property name="event" value="nc.ui.pubapp.uif2app.event.billform.AddEvent"/>
<property name="handler">
<bean class="nc.ui.fdc_crmbd.h3h001.ace.handler.AceAddHandler"/>
</property>
</bean>
</list>
</property>
</bean>
<!-- 行号自动处理 -->
<bean id="rowNoMediator" class="nc.ui.pubapp.uif2app.view.RowNoMediator">
<property name="model" ref="bmModel"/>
<property name="editor" ref="billForm"/>
</bean>
<!-- 单据号 -->
<bean id="billCodeMediator" class="nc.ui.pubapp.bill.BillCodeMediator" init-method="initUI">
<property name="billForm" ref="billForm"/>
<property name="billCodeKey" value="vbillcode"/>
<property name="billType" value="H001"/>
</bean>
<!-- Action部分 ***********************************************************-->
<!--======= 动作:[newActions] [新增] ===========-->
<bean id="addAction" class="nc.ui.pubapp.uif2app.actions.AddAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="interceptor">
<bean class="nc.ui.pubapp.uif2app.actions.interceptor.CompositeActionInterceptor">
<property name="interceptors">
<list>
<bean class="nc.ui.pubapp.uif2app.actions.interceptor.ShowUpComponentInterceptor">
<property name="showUpComponent" ref="billForm"/>
</bean>
<!--此处可以扩展添加自己的拦截器-->
</list>
</property>
</bean>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [修改] ===========-->
<bean id="editAction" class="nc.ui.pubapp.uif2app.actions.EditAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [删除] ===========-->
<bean id="deleteScriptAction" class="nc.ui.pubapp.uif2app.actions.pflow.DeleteScriptAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="billType" value="H001"/>
<property name="filledUpInFlow" value="true"/>
<property name="actionName" value="DELETE"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<bean id="defaultQueryActionQueryTemplateContainer" class="nc.ui.uif2.editor.QueryTemplateContainer">
<property name="nodeKey" value="qt"/>
<property name="context">
<ref bean="context"/>
</property>
</bean>
<!--======= 动作:[newActions] [查询] ===========-->
<bean id="defaultQueryAction" class="nc.ui.pubapp.uif2app.query2.action.DefaultQueryAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="templateContainer">
<ref bean="defaultQueryActionQueryTemplateContainer"/>
</property>
<property name="nodeKey" value="qt"/>
<property name="dataManager">
<ref bean="bmModelModelDataManager"/>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
<property name="btnName" value="查询"/>
</bean>
<!--======= 动作:[newActions] [复制] ===========-->
<bean id="copyAction" class="nc.ui.pubapp.uif2app.actions.CopyAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [刷新] ===========-->
<bean id="defaultRefreshAction" class="nc.ui.pubapp.uif2app.query2.action.DefaultRefreshAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="dataManager">
<ref bean="bmModelModelDataManager"/>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [提交] ===========-->
<bean id="commitScriptAction" class="nc.ui.pubapp.uif2app.actions.pflow.CommitScriptAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="billType" value="H001"/>
<property name="filledUpInFlow" value="true"/>
<property name="actionName" value="SAVE"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [收回] ===========-->
<bean id="unCommitScriptAction" class="nc.ui.pubapp.uif2app.actions.pflow.UnCommitScriptAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="billType" value="H001"/>
<property name="filledUpInFlow" value="true"/>
<property name="actionName" value="UNSAVEBILL"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [审批] ===========-->
<bean id="approveScriptAction" class="nc.ui.pubapp.uif2app.actions.pflow.ApproveScriptAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="billType" value="H001"/>
<property name="filledUpInFlow" value="true"/>
<property name="actionName" value="APPROVE"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [取消审批] ===========-->
<bean id="uNApproveScriptAction" class="nc.ui.pubapp.uif2app.actions.pflow.UNApproveScriptAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="billType" value="H001"/>
<property name="filledUpInFlow" value="true"/>
<property name="actionName" value="UNAPPROVE"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [联查单据] ===========-->
<bean id="linkQueryAction" class="nc.ui.pubapp.uif2app.actions.LinkQueryAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [预览] ===========-->
<bean id="metaDataBasedPrintAction" class="nc.ui.pubapp.uif2app.actions.MetaDataBasedPrintAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="actioncode" value="Preview"/>
<property name="actionname" value="预览"/>
<property name="preview" value="true"/>
<property name="nodeKey" value="ot"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
<property name="btnName" value="预览"/>
</bean>
<!--======= 动作:[newActions] [打印] ===========-->
<bean id="metaDataBasedPrintActiona" class="nc.ui.pubapp.uif2app.actions.MetaDataBasedPrintAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="actioncode" value="Print"/>
<property name="actionname" value="打印"/>
<property name="preview" value="false"/>
<property name="nodeKey" value="ot"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
<property name="btnName" value="打印"/>
</bean>
<!--======= 动作:[newActions] [输出...] ===========-->
<bean id="outputAction" class="nc.ui.pubapp.uif2app.actions.OutputAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="nodeKey" value="ot"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [查看审批意见] ===========-->
<bean id="pFApproveStatusInfoAction" class="nc.ui.pubapp.uif2app.actions.pflow.PFApproveStatusInfoAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [保存] ===========-->
<bean id="saveScriptAction" class="nc.ui.pubapp.uif2app.actions.pflow.SaveScriptAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="billType" value="H001"/>
<property name="filledUpInFlow" value="true"/>
<property name="actionName" value="SAVEBASE"/>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--======= 动作:[newActions] [取消] ===========-->
<bean id="cancelAction" class="nc.ui.pubapp.uif2app.actions.CancelAction">
<property name="model">
<ref bean="bmModel"/>
</property>
<property name="editor">
<ref bean="billForm"/>
</property>
<property name="exceptionHandler">
<ref bean="exceptionHandler"/>
</property>
</bean>
<!--分隔按钮-->
<bean id="separatorAction" class="nc.funcnode.ui.action.SeparatorAction"/>
<bean id="exceptionHandler" class="nc.ui.uif2.DefaultExceptionHanler">
<constructor-arg>
<ref bean="container"/>
</constructor-arg>
<property name="context">
<ref bean="context"/>
</property>
</bean>
<!-- 批量保存校验服务类 -->
</beans>
二:xml中需要添加的源代码:
QueryService
package nc.ui.orgpm.indicatorcl2.tree;
import nc.bs.framework.common.NCLocator;
import nc.itf.org.ICorpQryService;
import nc.ui.uif2.model.IAppModelService;
import nc.vo.uif2.LoginContext;
public class QueryService implements IAppModelService {
@Override
public Object insert(Object object) throws Exception {
return null;
}
@Override
public Object update(Object object) throws Exception {
return null;
}
@Override
public void delete(Object object) throws Exception {
}
@Override
public Object[] queryByDataVisibilitySetting(LoginContext context)
throws Exception {
// TODO 自动生成的方法存根
// nc.vo.vorg.CorpVersionVO
ICorpQryService bs = NCLocator.getInstance().lookup(ICorpQryService.class);
return bs.queryAllCorpVOs();
}
}
TreeManagerMediator
package nc.ui.orgpm.indicatorcl2.tree;
import nc.bs.logging.Logger;
import nc.ui.pubapp.uif2app.model.pagination.PaginationModelDataManager;
import nc.ui.uif2.AppEvent;
import nc.ui.uif2.AppEventListener;
import nc.ui.uif2.UIState;
import nc.ui.uif2.model.AppEventConst;
import nc.ui.uif2.model.BillManageModel;
import nc.ui.uif2.model.HierachicalDataAppModel;
public class TreeManagerMediator {
private HierachicalDataAppModel treeModel;
private BillManageModel manageModel;
private PaginationModelDataManager manageModelMng;
private TreeEventListener listener;
public static String TREE_STATUS_CHANGED = "TREE_STATUS_CHANGED";
public static int TREE_DISABLE = 1;
public static int TREE_ENABLE = 0;
public TreeEventListener getListener() {
return listener;
}
public void setListener(TreeEventListener listener) {
this.listener = listener;
}
public TreeManagerMediator() {
listener = new TreeEventListener();
}
class TreeEventListener implements AppEventListener {
@Override
public void handleEvent(AppEvent event) {
// TODO 自动生成的方法存根
try {
if (event.getSource() == getManageModel()) {
if (AppEventConst.MODEL_INITIALIZED == event.getType()) {
Object[] treedatas = getTreeModel().getAllDatas();
if ((null == treedatas || treedatas.length <= 0)) {
Object[] data;
data = getTreeModel().getService()
.queryByDataVisibilitySetting(
getManageModel().getContext());
getTreeModel().initModel(data);
}
}
}
if (event.getSource() == getTreeModel()) {// 左侧树模型监听
if (AppEventConst.SELECTION_CHANGED == event.getType()) {
Object o = getTreeModel().getSelectedData();
if(o == null)//选择跟节点,得到数据为null
return ;
// //1.查询数据
// IXpm_billMaintain maitain = NCLocator.getInstance()
// .lookup(IXpm_billMaintain.class);
// AggBillTestHeadVO[] data = maitain.queryBillByPK(new String[]{"1001ZZ10000000002M5A"});
// //2.设置模型
// getManageModel().initModel(data);
}
} else {
if (AppEventConst.UISTATE_CHANGED.equals(event.getType())) {
if (getManageModel().getUiState() == UIState.ADD) {
getTreeModel().fireEvent(
new AppEvent(TREE_STATUS_CHANGED, getTreeModel(),
TREE_DISABLE));
} else {
getTreeModel().fireEvent(
new AppEvent(TREE_STATUS_CHANGED, getTreeModel(),
TREE_ENABLE));
}
}
}
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
Logger.debug(e.getMessage());
}
}
}
public HierachicalDataAppModel getTreeModel() {
return treeModel;
}
public void setTreeModel(HierachicalDataAppModel treeModel) {
this.treeModel = treeModel;
treeModel.addAppEventListener(getListener());
}
public BillManageModel getManageModel() {
return manageModel;
}
public void setManageModel(BillManageModel manageModel) {
this.manageModel = manageModel;
manageModel.addAppEventListener(getListener());
}
public PaginationModelDataManager getManageModelMng() {
return manageModelMng;
}
public void setManageModelMng(PaginationModelDataManager manageModelMng) {
this.manageModelMng = manageModelMng;
}
}
TreeMoeldataManager
package nc.ui.orgpm.indicatorcl2.tree;
import nc.bs.logging.Logger;
import nc.ui.uif2.model.HierachicalDataAppModel;
import nc.ui.uif2.model.IAppModelDataManager;
public class TreeMoeldataManager implements IAppModelDataManager {
private HierachicalDataAppModel model;
public TreeMoeldataManager(){
super();
}
@Override
public void initModel() {
Object [] obj =null;
try {
obj = this.getModel().getService().queryByDataVisibilitySetting(this.getModel().getContext());
} catch (Exception e) {
e.printStackTrace();
}
this.getModel().initModel(obj);
}
public HierachicalDataAppModel getModel() {
return model;
}
public void setModel(HierachicalDataAppModel model) {
this.model = model;
}
}