ht.widget.ListView(dataModel)

new ListView(dataModel)

new ListView(dataModel)
列表组件类,用列表的方式呈现DataModel中的数据

Parameters:
Name Type Attributes Description
dataModel ht.DataModel <optional>

Methods

addBottomPainter(painter) → {void}

增加底层Painter

拓扑组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,底层Painter绘制在拓扑最下面

Parameters:
Name Type Description
painter painter | basePainterClass

可传递绘制函数或者对象。为对象时在 draw 属性上实现绘制函数

Returns:
void
Example
//Painter示例1:
function MyBottomPainter() {
}
ht.Default.def(MyBottomPainter, Object, {
    draw: function (g) {
        g.save();
        //draw...
        g.restore();
    }
});
ListView.addBottomPainter(new MyBottomPainter());
//Painter示例2:
var painter = function (g) {
    g.save();
    //draw...
    g.restore();
}
ListView.addBottomPainter(painter);

addPropertyChangeListener(listener, scope, ahead) → {void}

增加自身属性变化事件监听器

Parameters:
Name Type Description
listener function

监听器函数

scope Object

监听器函数域

ahead boolean

是否将当前监听器插入到监听器列表开头

Returns:
void
See:

addToDOM(parentNode) → {void}

将组件加入到指定的DOM元素底下,不指定则加入到 document.body 下

Parameters:
Name Type Attributes Description
parentNode HTMLElement <optional>

父DOM,默认为 document.body

Returns:
void

addTopPainter(painter) → {void}

增加顶层Painter

拓扑组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,顶层Painter绘制在拓扑最上面

Parameters:
Name Type Description
painter painter | basePainterClass

可传递绘制函数或者对象。为对象时在 draw 属性上实现绘制函数

Returns:
void
Example
//Painter示例1:
function MyTopPainter() {
}
ht.Default.def(MyTopPainter, Object, {
    draw: function (g) {
        g.save();
        //draw...
        g.restore();
    }
});
ListView.addTopPainter(new MyTopPainter());
//Painter示例2:
var painter = function (g) {
    g.save();
    //draw...
    g.restore();
}
ListView.addTopPainter(painter);

addViewListener(listener, scope, ahead) → {void}

监听视图事件,如布局、刷新等

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void

adjustTranslateX(value) → {number}

传入即将设置的水平平移值,返回最终设置值,可重载限制水平平移范围

Parameters:
Name Type Description
value number

原始水平平移值

Returns:
number -

新的水平平移值

adjustTranslateY(value) → {number}

传入即将设置的垂直平移值,返回最终设置值,可重载限制垂直平移范围

Parameters:
Name Type Description
value number

原始垂直平移值

Returns:
number -

新的垂直平移值

disableToolTip() → {void}

关闭ToolTip功能

Returns:
void

dm(dataModel) → {ht.DataModel}

获取或设置数据模型,没有参数时相当于getDataModel,有参数时相当于setDataModel

Parameters:
Name Type Attributes Description
dataModel ht.DataModel <optional>

数据模型

Returns:
ht.DataModel

drawIcon(g, data, x, y, height) → {void}

绘制文本,可重载自定义,label一般绘制在最后因此没有width参数限制

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

data Object

数据元素

x number

左上角x坐标

y number

左上角y坐标

height number

绘制的高度

Returns:
void

drawRow(g, data, selected, x, y, width, height) → {void}

绘制行内容,可重载自定义,默认调用drawIcon和drawLabel,如果返回值为HTML元素,则使用HTML元素当作Renderer

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

data Object

数据元素

selected boolean

数据元素是否选中

x number

左上角x坐标

y number

左上角y坐标

width number

绘制的宽度

height number

绘制的高度

Returns:
void

drawRowBackground(g, data, selected, x, y, width, height) → {void}

绘制行背景色,默认仅在选中该行时填充选中背景色,可重载自定义

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

data ht.Data

数据元素

selected boolean

数据元素是否选中

x number

左上角x坐标

y number

左上角y坐标

width number

绘制的宽度

height number

绘制的高度

Returns:
void

enableToolTip() → {void}

启用ToolTip

Returns:
void

getBodyColor(data) → {string}

获取数据元素icon的背景色,可重载自定义

Parameters:
Name Type Description
data Object

数据元素

Returns:
string -

颜色值,默认返回data.s('body.Color')

getBorderColor(data) → {string}

获取数据元素icon的边框色,可重载自定义

Parameters:
Name Type Description
data Object

数据元素

Returns:
string -

颜色值,默认返回data.s('body.Color')

getCheckIcon(data) → {string}

返回数据元素对应的check图标,可重载自定义check图标,该函数在checkMode模式下有效

Parameters:
Name Type Description
data Object

数据元素

Returns:
string -

数据元素对应的check图标

getDataAt(pointOrEvent) → {ht.Data}

传入逻辑坐标点或者交互event事件参数,返回当前点下的数据元素

Parameters:
Name Type Description
pointOrEvent Object | Event

逻辑坐标点或交互事件对象(如鼠标事件对象)

Returns:
ht.Data -

点下的数据元素

getDataModel() → {Object}

获取绑定的数据模型

Returns:
Object -

数据模型

getEndRowIndex() → {number}

获取当前可见区域的结束行索引

Returns:
number -

当前可见区域的结束行索引

getFocusData() → {Object}

在checkMode模式下数据除了被选中有check状态外,还可以有被点击行的focus状态
此方法获取focus数据元素

Returns:
Object -

focus数据元素

getHeight() → {number}

获取布局高度

Returns:
number

getIcon(data) → {string}

获取data对象对应的icon图标,可重载自定义

Parameters:
Name Type Description
data Object

数据元素

Returns:
string -

data对象对应的icon图标

getIconWidth(data) → {number}

返回data对象对应的图标宽度,默认如果有图标则以indent值为宽度,可重载自定义

Parameters:
Name Type Description
data Object
Returns:
number -

对象对应的图标宽度

getIndent(data) → {number}

获取indent缩进,该值一般当作图标的宽度

Parameters:
Name Type Description
data Object
Returns:
number -

indent缩进

getLabel(data) → {string}

获取data对象显示的文字,默认返回data.toLabel(),可重载自定义

Parameters:
Name Type Description
data Object

数据模型

Returns:
string -

data对象显示的文字

getLabelColor(data) → {string}

获取data对象的文本颜色,可重载自定义

Parameters:
Name Type Description
data Object

数据模型

Returns:
string -

data对象的文本颜色

getLabelFont(data) → {string}

获取data对象的文本字体,可重载自定义

Parameters:
Name Type Description
data Object

数据模型

Returns:
string -

data对象的文本字体

getLabelSelectColor() → {string}

获取选中文本的颜色

Returns:
string -

选中文本的颜色

getLogicalPoint(event) → {Object}

传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标

Parameters:
Name Type Description
event Object

数据模型

Returns:
Object -

组件中的逻辑坐标

See:

getRowDatas() → {Array.<Object>}

获取当前显示的Data对象集合,该集合已被排序和过滤

Returns:
Array.<Object> -

当前显示的Data对象集合,该集合已被排序和过滤

getRowHeight() → {number}

获取行高

Returns:
number -

行高

getRowIndex(data) → {number}

获取data对象所在的行索引

Parameters:
Name Type Description
data Object

数据模型

Returns:
number -

data对象所在的行索引

getRowLineColor() → {string}

获取行线颜色

Returns:
string -

行线颜色

getRowSize() → {number}

返回当前可见行总行数

Returns:
number -

当前可见行总行数

getScrollBarColor() → {string}

获取滚动条颜色

Returns:
string -

滚动条颜色

getScrollBarSize() → {number}

获取滚动条宽度

Returns:
number -

滚动条宽度

getSelectableFunc() → {function}

获取选择过滤器函数

Returns:
function -

选择过滤器函数

getSelectBackground() → {string}

获取行选中背景颜色

Returns:
string -

行选中背景颜色

getSelectionModel() → {ht.SelectionModel}

获取选中模型

Returns:
ht.SelectionModel -

选中模型

See:

getSortFunc() → {function}

获取排序函数

Returns:
function -

排序函数

getStartRowIndex() → {number}

获取当前可见区域的起始行索引

Returns:
number -

当前可见区域的起始行索引

getToolTip(e) → {string}

获取ToolTip文字,可重载返回自定义的toolTip文字

Parameters:
Name Type Description
e Event

鼠标或Touch事件对象

Returns:
string -

toolTip文字,默认取出鼠标下的图元,然后返回其getToolTip()

getTranslateX() → {number}

获取水平平移值

Returns:
number -

水平平移值

See:

getTranslateY() → {number}

获取垂直平移值

Returns:
number -

垂直平移值

See:

getView() → {HTMLElement}

获取组件的根层div

Returns:
HTMLElement -

组件的根层div

getViewRect() → {Object}

获取组件中可见区域的逻辑尺寸

Returns:
Object -

组件中可见区域的逻辑尺寸

getVisibleFunc() → {function}

获取可见过滤器函数

Returns:
function -

可见过滤器函数

getWidth() → {number}

获取布局宽度

Returns:
number -

布局宽度

handleDragAndDrop(event, state) → {void}

Parameters:
Name Type Description
event Event

鼠标或Touch交互事件

state "end" | "prepare" | "begin" | "between"
Returns:
void

invalidate(delay) → {void}

无效组件,并调用延时刷新

Parameters:
Name Type Description
delay number

延迟刷新的间隔事件(单位:ms)

Returns:
void
See:

invalidateData(data) → {void}

无效数据元素

Parameters:
Name Type Description
data Object

要无效的图元

Returns:
void

invalidateModel() → {void}

无效模型,最彻底的刷新方式

Returns:
void
See:

isAutoHideScrollBar() → {boolean}

是否自动隐藏滚动条

Returns:
boolean -

是否自动隐藏滚动条

isAutoMakeVisible() → {boolean}

选中数据元素时,是否自动平移组件以确保该元素出现在可见区域内

Returns:
boolean -

选中数据元素时,是否自动平移组件以确保该元素出现在可见区域内

isCheckMode() → {boolean}

是否是check模式

Returns:
boolean -

是否是check模式

isDisabled() → {boolean}

组件是否处于不可用状态,处于此状态时不能进行任何操作并且会遮挡一层蒙板

Returns:
boolean -

组件是否处于不可用状态

isRowLineVisible() → {boolean}

获取行线是否可见,默认为true

Returns:
boolean -

获取行线是否可见

isSelectable(data) → {boolean}

判断data对象是否可被选中

Parameters:
Name Type Description
data Object

数据元素

Returns:
boolean -

data对象是否可被选中

isSelected(data) → {boolean}

判断data对象是否被选中

Parameters:
Name Type Description
data Object

数据元素

Returns:
boolean -

data对象是否被选中

isSelectedById(id) → {boolean}

根据id判断data对象是否被选中

Parameters:
Name Type Description
id string

数据元素id

Returns:
boolean -

对象是否被选中

isSelectionModelShared() → {boolean}

当前组件是否共享选中模型

Returns:
boolean -

当前组件是否共享选中模型

isVisible(data) → {boolean}

判断数据元素是否可见

Parameters:
Name Type Description
data Object

数据元素

Returns:
boolean -

数据元素是否可见

iv(delay) → {void}

无效组件,并调用延时刷新

Parameters:
Name Type Description
delay number

延迟刷新的间隔事件(单位:ms)

Returns:
void
See:

ivm() → {void}

无效模型,最彻底的刷新方式

Returns:
void
See:

lp(event) → {Object}

传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标

Parameters:
Name Type Description
event Object

数据模型

Returns:
Object -

组件中的逻辑坐标

See:

makeVisible(data) → {void}

平移组件以确保数据元素在可见区域内

Parameters:
Name Type Description
data Object

数据元素

Returns:
void

mp(listener, scope, ahead) → {void}

增加自身属性变化事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void
See:

onDataClicked(data, e) → {void}

图元被点击时回调,可重载做后续处理

Parameters:
Name Type Description
data Object

被点击的图元

e Event

事件对象

Returns:
void

onDataDoubleClicked(data, e) → {void}

图元被双击时回调,可重载做后续处理

Parameters:
Name Type Description
data Object

双击的图元

e Event

事件对象

Returns:
void

onTranslateEnded() → {void}

平移动画结束时回调,可重载做后续处理

Returns:
void

redraw() → {void}

重绘拓扑

Returns:
void

removeBottomPainter(painter) → {void}

删除底层Painter

Parameters:
Name Type Description
painter Object | function

Painter类

Returns:
void

removePropertyChangeListener(listener, scope) → {void}

删除自身属性变化事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope any <optional>

监听器函数域

Returns:
void
See:

removeSelection(datas) → {void}

取消选中数据元素,参数可为单个数据元素,也可为List或Array数组

Parameters:
Name Type Description
datas ht.Data | ht.List | Array.<ht.Data>

Data|List|Array数据元素

Returns:
void
See:

removeTopPainter(painter) → {void}

删除顶层Painter

Parameters:
Name Type Description
painter Object | function

Painter类

Returns:
void

removeViewListener(listener, scope) → {void}

删除视图事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

Returns:
void

scrollToIndex(index) → {void}

平移(滚动)组件至指定的行号

Parameters:
Name Type Description
index number

行号

Returns:
void

selectAll() → {void}

选中所有数据元素

Returns:
void

setAutoHideScrollBar(v) → {void}

设置是否自动隐藏滚动条,默认为true

Parameters:
Name Type Description
v boolean

是否自动隐藏滚动条

Returns:
void

setAutoMakeVisible(v) → {void}

设置当选中数据元素,是否自动平移(滚动)组件以确保该数据元素出现在可见区域内

Parameters:
Name Type Description
v boolean
Returns:
void

setCheckMode(v) → {void}

设置check模式

Parameters:
Name Type Description
v boolean
Returns:
void

setDataModel() → {ht.DataModel}

设置绑定的数据模型

Returns:
ht.DataModel

setDisabled(value, iconUrl) → {void}

设置组件是否处于不可用状态,处于不可用状态时不能进行任何操作并且会遮挡一层蒙板

Parameters:
Name Type Description
value boolean

是否禁用组件

iconUrl string

蒙板上显示的icon的路径

Returns:
void

setFocusData(data) → {void}

在checkMode模式下数据除了被选中有check状态外,还可以有被点击行的focus状态
此方法设置focus的数据元素

Parameters:
Name Type Description
data Object

数据元素

Returns:
void

setFocusDataById(id) → {void}

在checkMode模式下数据除了被选中有check状态外,还可以有被点击行的focus状态
此方法设置focus的数据元素

Parameters:
Name Type Description
id string | number

数据元素的id

Returns:
void

setHeight(v) → {void}

设置布局高度

Parameters:
Name Type Description
v number

高度值

Returns:
void

setIndent(v) → {void}

设置缩进

Parameters:
Name Type Description
v number

缩进值

Returns:
void

setLabelColor(Color) → {void}

设置标题文字颜色

Parameters:
Name Type Description
Color string

颜色值

Returns:
void

setLabelFont(font) → {void}

设置标题文字字体

Parameters:
Name Type Description
font string

字体

Returns:
void

setLabelSelectColor(color) → {void}

设置行label文字选中颜色

Parameters:
Name Type Description
color string

行label文字选中颜色

Returns:
void

setRowHeight(height) → {void}

设置默认行高

Parameters:
Name Type Description
height number

默认行高

Returns:
void

setRowLineColor(Color) → {void}

设置行线颜色

Parameters:
Name Type Description
Color string

颜色值

Returns:
void

setRowLineVisible(v) → {void}

设置行线是否可见

Parameters:
Name Type Description
v boolean

行线是否可见

Returns:
void

setScrollBarColor(Color) → {void}

设置滚动条颜色

Parameters:
Name Type Description
Color string

颜色

Returns:
void

setScrollBarSize(size) → {void}

设置滚动条宽度,默认值为7

Parameters:
Name Type Description
size number

滚动条宽度

Returns:
void

setSelectableFunc(func) → {void}

设置选择过滤器函数

Parameters:
Name Type Description
func function

滚动条宽度

Returns:
void

setSelectBackground(Color) → {void}

设置行选中背景颜色

Parameters:
Name Type Description
Color string

颜色值

Returns:
void

setSelectionModelShared(v) → {void}

设置组件是否共享选中模型

Parameters:
Name Type Description
v boolean
Returns:
void

setSortFunc(func) → {void}

设置排序函数

Parameters:
Name Type Description
func function
Returns:
void

setTranslate(x, y, anim) → {void}

设置垂直平移值(水平平移值无效)

Parameters:
Name Type Attributes Description
x number

水平平移值,此参数无效

y number

垂直平移值

anim boolean | Object <optional>

是否使用动画

Returns:
void

setVisibleFunc(func) → {void}

设置可见函数

Parameters:
Name Type Description
func function
Returns:
void

setWidth(func) → {void}

显示垂直滚动条

Parameters:
Name Type Description
func function

过滤器函数

Returns:
void

showVBar() → {void}

设置排序函数

Returns:
void

sm() → {ht.SelectionModel}

获取选中模型

See:

translate(x, y, anim) → {void}

在当前值基础上增加垂直平移值(水平无效)

Parameters:
Name Type Attributes Description
x number

水平平移值,此参数无效

y number

垂直平移值

anim boolean | Object <optional>

是否使用动画

Returns:
void

tx(value) → {number}

获取水平平移值

Parameters:
Name Type Attributes Description
value number <optional>
Returns:
number -

水平平移值

See:

ty(value) → {number}

获取垂直平移值

Parameters:
Name Type Attributes Description
value number <optional>
Returns:
number -

垂直平移值

See:

ump(listener, scope) → {void}

删除自身属性变化事件监听器,removePropertyChangeListener的缩写

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope any <optional>

监听器函数域

Returns:
void
See:

validate() → {void}

刷新组件

Returns:
void