首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

跟“夫子”一起学simple:树结构

2012-09-14 
和“夫子”一起学simple:树结构?????? 点击红色的地方就弹出了我们想要的树结构。首先大家要理解这里树结构里

和“夫子”一起学simple:树结构

?????? 点击红色的地方就弹出了我们想要的树结构。首先大家要理解这里树结构里的数据是来自字段,所以我用到了dictSelect组件。下面是一些代码。

<dictSelect name="prjAct_subject" dictName="subject_level"

title="科目选择" bindingText="subject_text" bindingId="subject">

</dictSelect>

?????? 我理解的一些属性含义:

dictName:字典的名字,刚刚也介绍了,数据来自于字典。每个字典都有一个唯一的名字。

Title:窗口显示的名字

bindingId:返回值的Id返回给页面上的谁?——SU0

bindingText:返回值的中文返回给页面上的谁?---——大学语文

dictType:有两个选择(list,tree),默认是tree

list如图所示:

跟“夫子”一起学simple:树结构

Tree如图所示:

跟“夫子”一起学simple:树结构

Draggable:窗口是否可以拖动,默认是true,可以的。

?????? 其他的一些属性没有测试,有的测试了没看出变化就不得而知了,还希望其他知道的朋友们告诉一下。

?????? 树结构一就先了解这么多吧,下面再来看看树结构二吧。树结构二要比树结构一麻烦些,因为它本身的功能多,待实现的内容丰富多样。而且树的显示结构完全是自定义的。从官方的Demo网站可以知道,要实现树结构需要用到<tree>组件。

?????? 在第一张图里已经显示了我们的效果,这里就不在单独贴图出来了。直接看看代码吧。

?????? JSP:最简单的实现

<div id="examPaperNavTree"></div>

?????? JSP对应的XML:也是相当的简单:

<tree name="examPaperNavTree" containerId="examPaperNavTree">

?????? <treenode text="科目" opened="true"

????????????? handlestyle="padding: 1px; border: 1px solid #999999;" src="http://simpleframework.net/%24resource/default/myFileSelect/jsp/dl.jsp?__file_Id=22166&job=sys_account_normal&loc=true">

checkboxesThreeState:复选框的级联选中

opened:是否展开该节点

dynamicLoading:动态加载,需要的时候才加载

check:是否默认选中(1代表选中)

contextMenu:关联右键菜单:(例如contextMenu=”test”)

<menu name="test">

?????????? <menuitem title="添加"></menuitem>

?????????? <menuitem title="删除"></menuitem>

</menu>

跟“夫子”一起学simple:树结构

?????? OK吧。看看类里面的实现吧:

finalAbstractTreeNode treeNode:是“科目”这个节点。

treeNode.setJsClickCallback("$Actions.loc('/online/exampaper/exampaper.jsp');"):该方法可以给节点设置事件,本事件是点击后跳转到某个页面。如果是刷新右边的一个表格的话,也可以写为.$Actions[‘tablePagerName’](‘参数’);

finalCollection<SysDict> sysDicts = SysDictUtils.getSysDictChilds(SysDictUtils.subject_level);这是我获得字段的实现。

具体实现如下:

public?static?Collection<SysDict> getSysDictChilds(final?String dictType) {

???????final?ArrayList<SysDict> al =?new?ArrayList<SysDict>();

???????final?SysDict sysDict = DictUtils.getSysDictByName(dictType);

???????final?ITableEntityManager temgr = (ITableEntityManager) sysDict.dataObjectManager;

???????final?IQueryEntitySet<SysDict> qs = temgr.query(new?ExpressionValue("documentid=?",?new?Object[] { sysDict.getId() }), SysDict.class);

?????? SysDict tSysDict;

???????while((tSysDict = qs.next()) !=?null) {

?????????? al.add(tSysDict);

?????? }

???????return?al;

??? }

?????? 把它写成一个工具类,是为了开发应用的方便性。到这里就介绍完了这两种树结构。当然了,还有很多不了解的地方,以后还得仔细研究simple。

结束语:

?????? 好吧,今天的学习就到这里吧,小弟不才,关于这个组件就只能介绍这么多了。有深入了解的朋友们,还希望你们不要吝啬你的手,在你的键盘上挥洒几下,给俺留点高见吧。

原文:http://simpleframework.net/blog/v/22171.html

热点排行