如jqGrid treegrid配置中提到的,treeReader属性很重要。了解分层数据管理-嵌套集合模式的基本概念,将会更容易配置这个属性。
treeReader配置
默认嵌套集合模型的(nested set model)treeReader配置如下
treeReader : {
level_field: "level",
left_field:"lft",
right_field: "rgt",
leaf_field: "isLeaf",
expanded_field: "expanded"
}
treeReader会自动在colModel其他项后面添加这些隐藏字段。从服务器返回的数据需要一起包含这些配置的数据,以便构造树形表格。可以扩展treeReader其他字段用于满足你的需求。左右值详细介绍参考:分层数据管理-嵌套集合
字段名称 | 类型 | 描述 |
---|---|---|
level_field | number | 定义元素所在层级(this field determines the level in the hierarchy of the element.)。根元素level为0。根节点的子元素level为1,依次类推。用于设置元素的缩进 |
left_field | number | 此数据行对应的左值 |
right_field | number | 此数据行对应的右值 |
leaf_field | boolean | 是否为叶子节点,true/false。指定为叶子节点会有不同的图标,不能被展开或收缩 |
expanded_field | boolean | (true/false)树加载时指定非叶子节点是否展开。默认为false。注意:这个配置允许为空值,但是一定要包含在数据中,不能删除这个配置项。 |
另外一个可修改选项为tree_root_level,默认值为0,配置哪层数据作为根元素。
向服务器提交什么数据
配置读取器(reader)后需要知道向服务器提交了什么,好知道如何加载子节点。自动加载树节点提交的参数如下,添加到postData中。
postData : {
...
nodeid:rc.id,
n_left:rc.lft,
n_right:rc.rgt,
n_level:rc.level,
...
}
- nodeid :当前展开的数据行id
- n_left :当前展开行的左值
- n_right:当前展开行的右值
- n_level :当前展开行的level值(contain the level value of the currently expanded row)
来源:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:nested_set_model
时间: 2024-10-25 08:47:48