TreeGrid

TreeGrid是一个树状结构的表格组件,它集成了Grid和Tree的多种特性.

<a:treeGrid bindTarget="function_tree_ds" expandField="_expanded" height="400" id="functionTreeGrid" 
    idField="function_id" parentField="parent_function_id" showCheckBox="true" width="570">
    <a:columns>
        <a:column name="function_name" prompt="功能名称" width="250"/>
        <a:column name="function_code" prompt="功能代码" width="120"/>
        <a:column editorFunction="expandEditorFunction" name="expanded" prompt="是否展开" width="80"/>
        <a:column align="right" editor="grid_nf" name="sequence" prompt="序列号" width="100"/>
    </a:columns>
    <a:editors>
        <a:numberField id="grid_nf"/>
        <a:checkBox id="grid_cb"/>
    </a:editors>
</a:treeGrid>

从上图我们可以看到TreeGrid主要由两部分组成,左边的Tree结构,右边的Grid结构.TreeGrid的配置和Grid类似,也是通过column配置列信息,editors配置所有的编辑器.

和grid不同的是我们要指定TreeGrid的树节点信心.这里我们通过2个属性idField和parentField来配置.idField代表每一条record的唯一标识,parentField顾名思义代表 每一条record的父节点值(idField). 除了这2个属性我们还可以通过指定expandField属性来确定每个节点是否是展开状态,以及通过showCheckBox属性确定是否需要显示checkbox.

column的配合和grid相同,也可以定义renderer,lock等特性.同样TreeGrid也支持可编辑组件.

Table 1. TreeGrid标签属性

属性名 用途 默认值 是否必填
checkField record中用来显示树节点是否被选中的field。只有在属性showCheckBox为true的情况下才有效果。 checked
displayField record中用来显示树节点文本信息的field。 name
expandField record中用来表示树节点是否被伸展的field。 expanded
idField record中用来指定树节点唯一标识的field。 id
parentField record中用来指定树节点的父节点唯一标识的field。 pid
renderer 节点渲染器
sequenceField record中用来指定树节点序号的field。 sequence
showCheckBox 是否显示多选框 false