new PropertyView(dataModel)
属性组件,用于显示Data类型对象属性,以分组、排序等方式展示属性
Parameters:
Name | Type | Description |
---|---|---|
dataModel |
ht.DataModel | 绑定的数据模型 |
Methods
-
addBottomPainter(painter)
-
增加底层Painter
组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,底层Painter绘制在组件最下面Parameters:
Name Type Description painter
function Painter类
Example
//Painter示例: function MyBottomPainter() { } ht.Default.def(MyBottomPainter, Object, { draw: function(g) { g.save(); //draw... g.restore(); } }); propertyView.addBottomPainter(MyBottomPainter);
-
addProperties(properties)
-
以json的方式配置属性(新增)
Parameters:
Name Type Description properties
Array json属性
Example
//示例: propertyView.addProperties([{ name: 'id', displayName: '序号' }, { name: 'background', accessType: 'style' } ]);
-
addPropertyChangeListener(listener, scope, ahead)
-
增加自身属性变化事件监听器
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
Boolean <optional>
是否将当前监听器插入到监听器列表开头
- See:
-
addTopPainter(painter)
-
增加顶层Painter
组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,顶层Painter绘制在组件最上面Parameters:
Name Type Description painter
function Painter类
Example
//Painter示例: function MyTopPainter() { } ht.Default.def(MyTopPainter, Object, { draw: function(g) { g.save(); //draw... g.restore(); } }); propertyView.addTopPainter(MyTopPainter);
-
addViewListener(listener, scope, ahead)
-
监听视图事件,如布局、刷新等
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
Boolean <optional>
是否将当前监听器插入到监听器列表开头
-
adjustTranslateY(value) → {Number}
-
传入即将设置的垂直平移值,返回最终设置值,可重载限制垂直平移范围
Parameters:
Name Type Description value
Number 原始垂直平移值
Returns:
新的垂直平移值
- Type
- Number
-
collapse(categoryName)
-
合并分组
Parameters:
Name Type Description categoryName
String 分组名
-
collapseAll()
-
合并所有分组
-
disableToolTip()
-
关闭ToolTip功能
-
dm(dataModel) → {ht.DataModel}
-
获取或设置数据模型,没有参数时相当于getDataModel,有参数时相当于setDataModel
Parameters:
Name Type Argument Description dataModel
ht.DataModel <optional>
数据模型
Returns:
dataModel
- Type
- ht.DataModel
-
drawCategoryName(g, name, rowIndex, x, y, w, h)
-
绘制分组名,可重载自定义
Parameters:
Name Type Description g
CanvasRenderingContext2D 画笔对象
name
String 分组名
rowIndex
Number 行索引
x
Number 左上角x坐标
y
Number 左上角y坐标
w
Number 绘制的宽度
h
Number 绘制的高度
-
drawPropertyName(g, property, rowIndex, x, y, w, h)
-
绘制分组名,可重载自定义
Parameters:
Name Type Description g
CanvasRenderingContext2D 画笔对象
property
ht.Property 属性对象
rowIndex
Number 行索引
x
Number 左上角x坐标
y
Number 左上角y坐标
w
Number 绘制的宽度
h
Number 绘制的高度
-
drawPropertyValue(g, property, value, rowIndex, x, y, w, w, data) → {HTMLElement}
-
绘制属性值,可重载自定义,如果返回值为HTML元素,则使用HTML元素当作Renderer,一般重载Property的drawPropertyValue,无需重载此方法
Parameters:
Name Type Description g
CanvasRenderingContext2D 画笔对象
property
ht.Property 属性对象
value
Object 值
rowIndex
Number 行索引
x
Number 左上角x坐标
y
Number 左上角y坐标
w
Number 绘制的宽度
w
Number 绘制的宽度
data
ht.Data 数据元素
Returns:
- Type
- HTMLElement
-
enableToolTip()
-
启用ToolTip
-
expand(categoryName)
-
展开分组
Parameters:
Name Type Description categoryName
String 分组名
-
expandAll()
-
展开所有分组
-
getBackground() → {color}
-
获取边框和分组行的背景颜色
Returns:
- Type
- color
-
getCategoryColor(categoryName) → {color}
-
返回分组文本颜色,可重载自定义
Parameters:
Name Type Description categoryName
String 分组名
Returns:
- Type
- color
-
getCategoryFont(categoryName) → {String}
-
返回分组文本字体,可重载自定义
Parameters:
Name Type Description categoryName
String 分组名
Returns:
- Type
- String
-
getCollapseIcon() → {String}
-
获取分组合并图标
Returns:
- Type
- String
-
getColumnLineColor() → {color}
-
获取列线颜色
Returns:
- Type
- color
-
getColumnPosition() → {Number}
-
获取列线位置比例,默认值0.5,允许范围为0~1
Returns:
- Type
- Number
-
getCurrentData() → {ht.Data}
-
获取当前显示对象
Returns:
- Type
- ht.Data
-
getDataModel() → {ht.DataModel}
-
获取绑定的数据模型
Returns:
数据模型
- Type
- ht.DataModel
-
getExpandIcon() → {String}
-
获取分组展开图标
Returns:
- Type
- String
-
getHeight() → {Number}
-
获取布局高度
Returns:
- Type
- Number
-
getIndent() → {Number}
-
获取左侧缩进,左侧空间用于绘制分组toggle图标,以及属性提示icon图标
Returns:
- Type
- Number
-
getLabelColor(property, value, rowIndex) → {color}
-
返回属性值文本颜色,可重载自定义
Parameters:
Name Type Description property
ht.Property 属性对象
value
Object 值
rowIndex
Number 行索引
Returns:
- Type
- color
-
getLabelFont(property, value, rowIndex) → {String}
-
返回属性值文本字体,可重载自定义
Parameters:
Name Type Description property
ht.Property 属性对象
value
Object 值
rowIndex
Number 行索引
Returns:
- Type
- String
-
getLableSelectColor() → {color}
-
获取文本选中颜色
Returns:
- Type
- color
-
getLogicalPoint(event) → {Object}
-
传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标
Parameters:
Name Type Description event
Event 事件对象
- See:
Returns:
- Type
- Object
-
getPropertyAt(event) → {ht.Property}
-
返回event事件所在的行的属性信息
Parameters:
Name Type Description event
Event 事件对象
Returns:
- Type
- ht.Property
-
getPropertyColor(property, rowIndex) → {color}
-
返回属性名文本颜色,可重载自定义
Parameters:
Name Type Description property
ht.Property 属性对象
rowIndex
Number 行索引
Returns:
- Type
- color
-
getPropertyFont(property, rowIndex) → {color}
-
返回属性名文本字体,可重载自定义
Parameters:
Name Type Description property
ht.Property 属性对象
rowIndex
Number 行索引
Returns:
- Type
- color
-
getPropertyModel() → {ht.DataModel}
-
获取propertyModel属性,可增删Property属性对象
Returns:
- Type
- ht.DataModel
-
getPropertyName() → {String}
-
返回显示在左列的属性名,可重载自定义
Returns:
- Type
- String
-
getRawProperties() → {ht.List}
-
返回要显示的原始未过滤排序的属性集合,默认返回propertyModel.getRoots(),可重载自定义
Returns:
- Type
- ht.List
-
getRowHeight() → {Number}
-
获取行高
Returns:
- Type
- Number
-
getRowIndexAt(event) → {Number}
-
获取event事件所在的行索引
Parameters:
Name Type Description event
Event 事件对象
Returns:
- Type
- Number
-
getRows() → {ht.List}
-
返回当前显示的所有行信息的集合,集合元素为string类型代表分组名,{data:d,property:p}结构对象代表属性信息
Returns:
- Type
- ht.List
-
getScrollBarColor() → {color}
-
获取滚动条颜色
Returns:
- Type
- color
-
getScrollBarSize() → {Number}
-
获取滚动条宽度
Returns:
- Type
- Number
-
getSelectBackground() → {color}
-
获取行选中背景颜色
Returns:
- Type
- color
-
getSelectionModel() → {ht.SelectionModel}
-
获取选中模型
- See:
Returns:
- Type
- ht.SelectionModel
-
getSelectRowIndex() → {Number}
-
获取当前选中行索引
Returns:
- Type
- Number
-
getSortFunc() → {function}
-
获取排序函数
Returns:
- Type
- function
-
getTranslateY() → {Number}
-
获取垂直平移值
- See:
Returns:
垂直平移值
- Type
- Number
-
getView() → {HTMLDivElement}
-
获取组件的根层div
Returns:
- Type
- HTMLDivElement
-
getVisibleFunc() → {function}
-
获取可见过滤器函数
Returns:
- Type
- function
-
getWidth() → {Number}
-
获取布局宽度
Returns:
- Type
- Number
-
invalidate(delay)
-
无效组件,并调用延时刷新
Parameters:
Name Type Description delay
Number 延迟刷新的间隔事件(单位:ms)
- See:
-
invalidateModel()
-
无效模型,最彻底的刷新方式
- See:
-
isAutoHideScrollBar() → {Boolean}
-
是否自动隐藏滚动条
Returns:
- Type
- Boolean
-
isBatchEditable() → {Boolean}
-
是否启用批量编辑
Returns:
- Type
- Boolean
-
isCategorizable() → {Boolean}
-
是否分组显示,默认为true,为false则忽略Property的categoryName属性
Returns:
- Type
- Boolean
-
isColumnLineVisible() → {Boolean}
-
获取列线是否可见,默认为true
Returns:
- Type
- Boolean
-
isDisabled() → {Boolean}
-
组件是否处于不可用状态,处于此状态时不能进行任何操作并且会遮挡一层蒙板
Returns:
- Type
- Boolean
-
isEditable() → {Boolean}
-
返回可否编辑的总开关,默认为false,每个Property属性对象可再控制
Returns:
- Type
- Boolean
-
isExpanded(categoryName) → {Boolean}
-
分组是否展开
Parameters:
Name Type Description categoryName
String 分组名
Returns:
- Type
- Boolean
-
isPropertyEditable(property) → {Boolean}
-
判断属性是否可编辑,可重载自定义
Parameters:
Name Type Description property
ht.Property 属性对象
Returns:
- Type
- Boolean
-
isRowLineVisible() → {Boolean}
-
获取行线是否可见,默认为true
Returns:
- Type
- Boolean
-
isSelectionModelShared() → {Boolean}
-
当前组件是否共享选中模型
Returns:
- Type
- Boolean
-
isVisible(property) → {Boolean}
-
判断属性是否可见
Parameters:
Name Type Description property
ht.Property 属性对象
Returns:
- Type
- Boolean
-
iv(delay)
-
无效组件,并调用延时刷新,invalidate的缩写
Parameters:
Name Type Description delay
Number 延迟刷新的间隔事件(单位:ms)
- See:
-
ivm()
-
无效模型,重新构造内部的rows数据,最彻底的刷新方式,invalidateModel的缩写
- See:
-
lp(event) → {Object}
-
传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标,getLogicalPoint的缩写
Parameters:
Name Type Description event
Event 事件对象
- See:
Returns:
- Type
- Object
-
mp(listener, scope, ahead)
-
增加自身属性变化事件监听器,addPropertyChangeListener的缩写
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
Boolean <optional>
是否将当前监听器插入到监听器列表开头
-
onCollapsed(categoryName)
-
合并分组时调用,可重载做后续处理
Parameters:
Name Type Description categoryName
String 分组名
-
onExpanded(categoryName)
-
展开分组时调用,可重载做后续处理
Parameters:
Name Type Description categoryName
String 分组名
-
onTranslateEnded()
-
平移动画结束时回调,可重载做后续处理
-
redraw()
-
重绘组件中所有行,仅次于invalidateModel的彻底刷新方式
-
removeBottomPainter(painter)
-
删除底层Painter
Parameters:
Name Type Description painter
Object Painter类
-
removePropertyChangeListener(listener, scope)
-
删除自身属性变化事件监听器
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
-
removeSelection()
-
删除所有选中的图元
-
removeTopPainter(painter)
-
删除顶层Painter
Parameters:
Name Type Description painter
Object Painter类
-
removeViewListener(listener, scope)
-
删除视图事件监听器
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
-
setAutoHideScrollBar(v)
-
设置是否自动隐藏滚动条
Parameters:
Name Type Description v
Boolean -
setBackground(color)
-
设置边框和分组行的背景颜色
Parameters:
Name Type Description color
color -
setBatchEditable(v)
-
设置是否启用批量编辑
Parameters:
Name Type Description v
Boolean -
setCategorizable(v)
-
设置是否分组显示,默认为true,为false则忽略Property的categoryName属性
Parameters:
Name Type Description v
Boolean -
setCollapseIcon(icon)
-
设置分组合并图标
Parameters:
Name Type Description icon
String -
setColumnLineColor(color)
-
设置列线颜色
Parameters:
Name Type Description color
color -
setColumnLineVisible(v)
-
设置列线是否可见
Parameters:
Name Type Description v
Boolean -
setColumnPosition(v)
-
设置列线位置比例,默认值0.5,允许范围为0~1
Parameters:
Name Type Description v
Number -
setDataModel(dataModel)
-
设置绑定的数据模型
Parameters:
Name Type Description dataModel
ht.DataModel 数据模型
-
setDisabled(value, iconUrl)
-
设置组件是否处于不可用状态,处于不可用状态时不能进行任何操作并且会遮挡一层蒙板
Parameters:
Name Type Argument Description value
Boolean 是否禁用组件
iconUrl
String <optional>
蒙板上显示的icon的路径
-
setEditable(editable)
-
设置可否编辑的总开关,默认为false,每个Property属性对象可再控制
Parameters:
Name Type Description editable
Boolean -
setExpandIcon(icon)
-
设置分组展开图标
Parameters:
Name Type Description icon
String -
setHeight(v)
-
设置布局高度
Parameters:
Name Type Description v
Number 高度值
-
setIndent(v)
-
设置左侧缩进,左侧空间用于绘制分组toggle图标,以及属性提示icon图标
Parameters:
Name Type Description v
Number -
setLabelColor(color)
-
设置属性值文本颜色
Parameters:
Name Type Description color
color -
setLabelFont(font)
-
设置属性值文本字体
Parameters:
Name Type Description font
String -
setLabelSelectColor(color)
-
设置选中文本颜色
Parameters:
Name Type Description color
color -
setProperties(properties)
-
以json的方式配置属性(设置)
Parameters:
Name Type Description properties
Array json属性
Example
//示例: propertyView.setProperties([{ name: 'id', displayName: '序号' }, { name: 'background', accessType: 'style' } ]);
-
setRowHeight(v)
-
设置行高
Parameters:
Name Type Description v
Number -
setRowLineColor(color)
-
设置行线颜色
Parameters:
Name Type Description color
color -
setRowLineVisible(v)
-
设置行线是否可见
Parameters:
Name Type Description v
Boolean -
setScrollBarColor(color)
-
设置滚动条颜色
Parameters:
Name Type Description color
color 颜色值
-
setScrollBarSize(size)
-
设置滚动条宽度
Parameters:
Name Type Description size
Number 宽度值
-
setSelectBackground(color)
-
设置行选中背景颜色
Parameters:
Name Type Description color
color -
setSelectionModelShared(v)
-
设置组件是否共享选中模型
Parameters:
Name Type Description v
Boolean -
setSelectRowIndex(v)
-
设置当前选中行索引
Parameters:
Name Type Description v
Number -
setSortFunc(func)
-
设置排序函数
Parameters:
Name Type Description func
function -
setTranslate(x, y, anim)
-
设置水平和垂直平移值
Parameters:
Name Type Argument Description x
Number 水平平移值(无效)
y
Number 垂直平移值
anim
Boolean <optional>
是否使用动画
-
setTranslateY(y)
-
设置垂直平移值
Parameters:
Name Type Description y
Number 垂直平移值
-
setVisibleFunc(func)
-
设置可见属性过滤器
Parameters:
Name Type Description func
function 过滤器函数
-
setWidth(v)
-
设置布局宽度
Parameters:
Name Type Description v
Number 宽度值
-
showVBar()
-
显示垂直滚动条
-
sm() → {ht.SelectionModel}
-
获取选中模型,getSelectionModel的缩写
- See:
Returns:
- Type
- ht.SelectionModel
-
toggle(categoryName)
-
切换分组展开合并状态
Parameters:
Name Type Description categoryName
String 分组名
-
translate(x, y, anim)
-
在当前值基础上增加水平和垂直平移值
Parameters:
Name Type Argument Description x
Number 新增的水平平移值(无效)
y
Number 新增的垂直平移值
anim
Boolean <optional>
是否使用动画
-
ty(value)
-
获取或设置垂直平移值,没有参数时相当于getTranslateY,有参数时相当于setTranslateY
Parameters:
Name Type Description value
Number 平移值
-
ump(listener, scope)
-
删除自身属性变化事件监听器,removePropertyChangeListener的缩写
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
-
validate()
-
立刻刷新组件