树形表 Treegrid
出于效率等方面的原因,本控件绝大部分属性均不支持动态设置,仅能通过模板设置一次
Constructor
Implements: Widget
Tutorials: 控件对象使用快速入门
可设置的属性
Name | Type | Default | Description |
---|---|---|---|
name | String | 控件的名字,唯一标志 | |
title | String | 控件title | |
hidden | Boolean | 隐藏 | |
value | Array | 数据集合 | |
toolbar | String | 设置启用工具按钮 | |
mulitSelect | Boolean | false | 是否多选 |
idField | String | 唯一标识key | |
treeField | String | 表现树结构的列名 | |
parentField | String | 标识父节点的key | |
height | Number | 高度 | |
checkbox | Boolean | 显示checkbox | |
hideToolbar | Boolean | 是否隐藏顶部工具栏 | |
lineRemoveButton | Boolean | 启用行号删除按钮 | |
initNotLoad | Boolean | 初始化不加载数据 | |
hideRowNumber | Boolean | 隐藏行号 |
可读取的属性
Name | Type | Default | Description |
---|---|---|---|
name | String | 控件的名字,唯一标志 | |
title | String | 控件title | |
hidden | Boolean | 隐藏 | |
value | Array | 数据集合 | |
toolbar | String | 设置启用工具按钮 | |
mulitSelect | Boolean | false | 是否多选 |
idField | String | 唯一标识key | |
treeField | String | 表现树结构的列名 | |
parentField | String | 标识父节点的key | |
height | Number | 高度 | |
checkbox | Boolean | 显示checkbox | |
hideToolbar | Boolean | 是否隐藏顶部工具栏 | |
lineRemoveButton | Boolean | 启用行号删除按钮 | |
initNotLoad | Boolean | 初始化不加载数据 | |
hideRowNumber | Boolean | 隐藏行号 |
方法
validate
Description: 执行校验
返回值: Boolean 校验是否成功
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var result = widget.doMethod('validate');
intoView
Description: 把控件移动到页面可视范围
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('intoView');
addValidator
Description: 增加校验器
调用参数
Name | Type | Description |
---|---|---|
validator | Object | 校验器对象 |
返回值: 无
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
//通过api增加必填校验器
widget.doMethod('addValidator' , vjsp.Validators.get(
'required',
[],
widgetLang.validate.required
));
removeValidator
Description: 删除校验器
调用参数
Name | Type | Description |
---|---|---|
name | String | 校验器名称 |
返回值: 无
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
//删除必填校验
widget.doMethod('removeValidator' , 'required');
showValidateMsg
Description: 显示校验信息,多用于自定义校验器的开发
调用参数
Name | Type | Description |
---|---|---|
msg | String | 提示信息 |
返回值: 无
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
//提示不能为空
widget.doMethod('showValidateMsg' , '控件不能为空');
hideValidateMsg
Description: 隐藏校验信息,多用于自定义校验器的开发
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('hideValidateMsg');
appendRow
Description: 追加一行
调用参数
Name | Type | Description |
---|---|---|
rowData | Object | 行数据 |
parentId | String | 父节点id |
返回值:无
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('appendRow' , {column1:'cell1' , column2:'cell2'} , 'parentId');
deleteRow
Description: 删除一行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
返回值:无
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('deleteRow' , 'rowId');
selectRow
Description: 选中一行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
返回值:无 调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('selectRow' , 'rowId');
unselectRow
Description: 取消选中一行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
返回值:无
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('unselectRow' , 'rowId');
selectAll
Description: 全部选中
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('selectAll');
unselectAll
Description: 全部取消选中
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('unselectAll');
getSelected
Description: 获取所有选中行。单选下,返回一行数据或 null;多选下,返回数组。
返回值:Object|Array.<Object> mulitSelect
设置为可以多选时返回数组 否则返回一行的数据对象
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var selected = widget.doMethod('getSelected');
fullScreen
Description: 全屏显示
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('fullScreen');
restore
Description: 从全屏恢复
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('restore');
getParent
Description: 获取父行数据
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
返回值:Object 父行数据
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var parentRow = widget.doMethod('getParent' , 'rowId');
getChildren
Description: 获取子行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
返回值:Array.<Object> 父行数据
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var childRows = widget.doMethod('getChildren' , 'rowId');
Expand
Description: 展开指定行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('expand' , 'rowId');
collapse
Description: 收缩指定行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('collapse' , 'rowId');
ExpandAll
Description: 展开所有行
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('expandAll');
collapseAll
Description: 收缩所有行
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('collapseAll');
checkRow
Description: 勾选一行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('checkRow' , 'rowId');
uncheckRow
Description: 取消勾选一样
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('uncheckRow' , 'rowId');
getChecked
Description: 获取勾选的行
返回值:Array.<Object> 返回勾选的数据对象集合 没勾选时空数组
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var checked = widget.doMethod('getChecked');
isChecked
Description: 是否选中
返回值:Boolean check状态
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var result = widget.doMethod('isChecked');
getSiblings
Description: 获取同级其他行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
返回值:Array.<Object> 数据集合,没有同级则空数组
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var rows = widget.doMethod('getSiblings' , 'rowId');
getRowData
Description: 通过ID获取行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
返回值:Object 父行数据
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
var rowData = widget.doMethod('getRowData' , 'rowId');
refreshRow
Description: 刷新行
调用参数
Name | Type | Description |
---|---|---|
id | Number | 行id |
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('refreshRow' , 'rowId');
resize
Description: 重新计算大小
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('resize');
updateRow
Description: 更新行
调用参数
Name | Type | Description |
---|---|---|
val | Object | 更新参数对象,包括行id(index)和行数据(row),数据格式参考调用举例 |
返回值:无
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('updateRow' , {
index : 'rowId', //注意此处跟datagrid区别 此处index是id不是索引
row : {
column1 : 'cellvalue1'
}
});
reloadData
Description: 重新载入数据
调用举例:
var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('reloadData');
事件
属性
Name | Description |
---|---|
clickRow | 单击行 |
clickCell | 单击单元格 |
dblClickRow | 双击单元格 |
dblClickCell | 双单击单元格 |
select | 选中一行 |
unselect | 取消选中一行 |
selectAll | 全部选中 |
unselectAll | 全部取消选中 |
check | 勾选一行 |
uncheck | 取消勾选一行 |
checkAll | 全部勾选 |
uncheckAll | 全部取消勾选 |
beforeEdit | 编辑前 |
afterEdit | 编辑后 |
loaded | 载入数据完成 |
load | 载入数据 |
beforeExpand | 树形展开前事件 可以通过this.returnValue=false 来阻止展开 |
expand | 树形展开事件 |
beforeCollapse | 树形折叠前事件 可以通过this.returnValue=false 来阻止折叠 |
collapse | 树形折叠事件 |
hidden | 隐藏事件(隐藏显示触发 回调参数为隐藏状态) |
readonly | 只读事件 (只读状态改变触发 回调参数为只读状态) |
列属性
Name | Type | Description |
---|---|---|
name | String | 列名 |
title | String | 列显示名 |
rowspan | Number | 合并行 |
colspan | Number | 合并列 |
width | Number | 宽度 |
hidden | Boolean | 列隐藏 |
halign | Boolean | 表头对齐(left|center|right) |
align | String | 数据对齐(left|center|right) |
editor | String | 编辑器名称 |