1. 树形结构的编辑

在编辑中增加树形结构, 

当前编辑中只能编辑树形结构的页节点(即一个实体对应的记录),树形结构涉及两方面的内容: 

具体定义同参与树结构。

  1. 如何构造树结构;
  2. 编辑界面中的内容修改后如何更新树结构. 



具体实现步骤如下:

  1. 在实体下增加数据集属性,查询树结构中的内容
  2. 在编辑中设置树形结构

<ATTRIBUTE TYPE="ED" PROGID="PPDomainEditReqSingle" SVRERI="_PP.EDT.SVREDT" RELEASE="0~0~0" USERVERSION="1">

  <TREEDEF CODE='数据集的代码,用户查询' ERI="..TREE" ALIAS="DEFAULT"

     TYPE="type" PARENTTYPE="parenttype" LEAFTYPE =""

     ID="ID" PARENTID="ParentID"

     REFTYPE="type" REFID="cpid" //tree数据集的参数名称,用于查询数据更新节点(全局模式更新部分节点,局部模式更新整个树结构) 

     LABEL="FIELDNAME">

       <NODE ID="0" TYPE="1" LABEL="组织结构" PARENTID="" ICON="TB_Root.bmp" SELECTEDICON="TB_Root.bmp"/>

         ... 可以有多层

         </NODE>

          如果没有指定NODE节点,默认<NODE ID='0' TYPE='0' LABEL='根' PARENTID=''/>

     </TREEDEF>

ERI:树形结构对应的数据集,即第一步构造的数据集, 

ALIAS: 这个数据集的别名

树形结构的模式:全局模式,局部模式(根据当前编辑记录形成树形结构)

   MODE : LOCAL/GLOBLE ;//由当前编辑记录决定的树结构

全局模式只更新节点,局部模式只有当前id同实体更新事件中的id才更新,而且更新整个树结构。 

   TYPE: 用于在第一步构造的数据集中查询记录字段。 

   PARENTTYPE: 用来查询在树中上层结构数据的类型字段。

   ID:用来查询记录ID的字段         id的值小于等于 0 不能编辑

   PARENTID:用来获得上层记录ID的字段

   LABEL:在树中标签的字段

。 

LEAFTYPE: 只作为叶节点的类型,不能用于递归型的叶节点,如部门等,增加叶节点的设置可提高构造树的性能。 例如人员档案下面,人员下无子节点。 

举例:

                       <TREEDEF CODE="TREE" ERI="..TREE"  LEAFTYPE="2" ALIAS="DEFAULT" TYPE="type" PARENTTYPE="parenttype" ID="id" PARENTID="parentid" LABEL="ename" REFTYPE="type" REFID="zzjgid" MODE="GLOBLE">

                               <NODE ID="0" TYPE="0" LABEL="销售区域"/>

                       </TREEDEF>

构造树结构的数据集SQL如下:

SELECT c_xsqy.xsqyid as id,

 c_xsqy.ecode as ecode,

 c_xsqy.ename as ename,

 isnull(c_xsqy.c_x_xsqyid,0) as parentid,

 type ='1',

 parenttype='1',

 icon = 'TB_Folder.bmp'

 into #tmp

 FROM c_xsqy c_xsqy

 union

 SELECT c_zzjg.zzjgid as id,

 c_zzjg.ecode as ecode,

 c_zzjg.ename as ename,

 c_zzjg.xsqyid as parentid,

 type='2',

 parenttype='1',

 icon= 'bl_item.ico'

 FROM c_zzjg c_zzjg

  select id,ecode,ename,parentid,type,parenttype,icon from #tmp tmp

  order by type,id 

编辑中的布局如下:

<LAYOUT TYPE="HORIZON">

                                                       <LAYOUT WIDTH="200" TYPE="TREE" CODE="TREE">

                                                       </LAYOUT>    

Created with the Personal Edition of HelpNDoc: Free Web Help generator