树形表 Treegrid

出于效率等方面的原因,本控件绝大部分属性均不支持动态设置,仅能通过模板设置一次

Constructor

Implements: Widget

Tutorials: 控件对象使用快速入门

可设置的属性

NameTypeDefaultDescription
nameString控件的名字,唯一标志
titleString控件title
hiddenBoolean隐藏
valueArray数据集合
toolbarString设置启用工具按钮
mulitSelectBooleanfalse是否多选
idFieldString唯一标识key
treeFieldString表现树结构的列名
parentFieldString标识父节点的key
heightNumber高度
checkboxBoolean显示checkbox
hideToolbarBoolean是否隐藏顶部工具栏
lineRemoveButtonBoolean启用行号删除按钮
initNotLoadBoolean初始化不加载数据
hideRowNumberBoolean隐藏行号

可读取的属性

NameTypeDefaultDescription
nameString控件的名字,唯一标志
titleString控件title
hiddenBoolean隐藏
valueArray数据集合
toolbarString设置启用工具按钮
mulitSelectBooleanfalse是否多选
idFieldString唯一标识key
treeFieldString表现树结构的列名
parentFieldString标识父节点的key
heightNumber高度
checkboxBoolean显示checkbox
hideToolbarBoolean是否隐藏顶部工具栏
lineRemoveButtonBoolean启用行号删除按钮
initNotLoadBoolean初始化不加载数据
hideRowNumberBoolean隐藏行号

方法

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: 增加校验器

调用参数

NameTypeDescription
validatorObject校验器对象

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
//通过api增加必填校验器
widget.doMethod('addValidator' , vjsp.Validators.get(
    'required',
    [],
    widgetLang.validate.required
));

removeValidator

Description: 删除校验器

调用参数

NameTypeDescription
nameString校验器名称

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
//删除必填校验
widget.doMethod('removeValidator' , 'required');

showValidateMsg

Description: 显示校验信息,多用于自定义校验器的开发

调用参数

NameTypeDescription
msgString提示信息

返回值: 无

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
//提示不能为空
widget.doMethod('showValidateMsg' , '控件不能为空');

hideValidateMsg

Description: 隐藏校验信息,多用于自定义校验器的开发

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('hideValidateMsg');

appendRow

Description: 追加一行

调用参数

NameTypeDescription
rowDataObject行数据
parentIdString父节点id

返回值:无

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('appendRow' , {column1:'cell1' , column2:'cell2'} , 'parentId');

deleteRow

Description: 删除一行

调用参数

NameTypeDescription
idNumber行id

返回值:无

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('deleteRow' , 'rowId');

selectRow

Description: 选中一行

调用参数

NameTypeDescription
idNumber行id

返回值:无 调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('selectRow' , 'rowId');

unselectRow

Description: 取消选中一行

调用参数

NameTypeDescription
idNumber行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: 获取父行数据

调用参数

NameTypeDescription
idNumber行id

返回值:Object 父行数据

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
var parentRow = widget.doMethod('getParent' , 'rowId');

getChildren

Description: 获取子行

调用参数

NameTypeDescription
idNumber行id

返回值:Array.<Object> 父行数据

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
var childRows = widget.doMethod('getChildren' , 'rowId');

Expand

Description: 展开指定行

调用参数

NameTypeDescription
idNumber行id

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('expand' , 'rowId');

collapse

Description: 收缩指定行

调用参数

NameTypeDescription
idNumber行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: 勾选一行

调用参数

NameTypeDescription
idNumber行id

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('checkRow' , 'rowId');

uncheckRow

Description: 取消勾选一样

调用参数

NameTypeDescription
idNumber行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: 获取同级其他行

调用参数

NameTypeDescription
idNumber行id

返回值:Array.<Object> 数据集合,没有同级则空数组

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
var rows = widget.doMethod('getSiblings' , 'rowId');

getRowData

Description: 通过ID获取行

调用参数

NameTypeDescription
idNumber行id

返回值:Object 父行数据

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
var rowData = widget.doMethod('getRowData' , 'rowId');

refreshRow

Description: 刷新行

调用参数

NameTypeDescription
idNumber行id

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('refreshRow' , 'rowId');

resize

Description: 重新计算大小

调用举例:

var widget = vjsp.Parser.getWidgetByName('treegrid');
widget.doMethod('resize');

updateRow

Description: 更新行

调用参数

NameTypeDescription
valObject更新参数对象,包括行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');

事件

属性

NameDescription
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只读事件 (只读状态改变触发 回调参数为只读状态)

列属性

NameTypeDescription
nameString列名
titleString列显示名
rowspanNumber合并行
colspanNumber合并列
widthNumber宽度
hiddenBoolean列隐藏
halignBoolean表头对齐(left|center|right)
alignString数据对齐(left|center|right)
editorString编辑器名称