new SelectionModel()
选择模型管理DataModel模型中Data对象的选择状态,
每个DataModel对象都内置一个SelectionModel选择模型,
控制这个SelectionModel即可控制所有绑定该DataModel的视图组件的对象选择状态,
这意味着共享同一DataModel的组件默认就具有选中联动功能。
如果希望某些组件不与其他组件选中联动,
可通过调用view.setSelectionModelShared(false),
这样该view将创建一个专属的SelectionModel实例。
Methods
-
addPropertyChangeListener(listener, scope, ahead)
-
增加自身属性变化事件监听器
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
Boolean <optional>
是否将当前监听器插入到监听器列表开头
- See:
-
addSelectionChangeListener(listener, scope, ahead)
-
增加监听器,监听选中变化事件
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
Boolean <optional>
是否将当前监听器插入到监听器列表开头
- See:
Example
dataModel.addSelectionChangeListener(function(event) { //event格式: { kind: "set",//事件类型set|remove|append|clear datas: datas,//包含所有选中状态变化的数据元素,之前选中现在取消选中,和之前没选中现在被选中的数据元素 } });
-
appendSelection(datas)
-
追加选中一个或多个数据元素,参数可为单个数据元素,也可为ht.List或Array数组
Parameters:
Name Type Description datas
ht.Data | ht.List | Array 数据元素
- See:
-
as(datas)
-
追加选中一个或多个数据元素,参数可为单个数据元素,也可为ht.List或Array数组,appendSelection的缩写
Parameters:
Name Type Description datas
ht.Data | ht.List | Array 数据元素
- See:
-
clearSelection()
-
取消所有选中数据元素
- See:
-
co(data)
-
判断data对象是否被选中,contains的缩写
Parameters:
Name Type Description data
ht.Data 要判断的data对象
- See:
-
contains(data)
-
判断data对象是否被选中
Parameters:
Name Type Description data
ht.Data 要判断的data对象
- See:
-
cs()
-
取消所有选中数据元素,clearSelection的缩写
- See:
-
dm() → {ht.DataModel}
-
获取DataModel,getDataModel的缩写
- See:
Returns:
dataModel
- Type
- ht.DataModel
-
each(func, scope)
-
提供一个回调函数遍历此选中模型
Parameters:
Name Type Argument Description func
function 遍历函数
scope
Object <optional>
函数域
Example
selectionModel.each(function(data) { console.log(data); });
-
fd() → {ht.Data}
-
返回首个被选中的数据元素,如果没有选中数据元素则返回空,此方法是getFirstData的缩写
- See:
Returns:
首个被选中的数据元素
- Type
- ht.Data
-
getDataModel() → {ht.DataModel}
-
- See:
Returns:
dataModel
- Type
- ht.DataModel
-
getFilterFunc() → {function}
-
返回选中过滤器函数
有些数据元素不希望被用户选中,可以通过设置此过滤器实现- See:
Returns:
选中过滤器函数
- Type
- function
-
getFirstData() → {ht.Data}
-
返回首个被选中的数据元素,如果没有选中数据元素则返回空
- See:
Returns:
首个被选中的数据元素
- Type
- ht.Data
-
getLastData() → {ht.Data}
-
返回最后被选中的数据元素,如果没有选中数据元素则返回空
- See:
Returns:
最后被选中的数据元素
- Type
- ht.Data
-
getSelection() → {ht.List}
-
获取所有被选中数据元素集合,注意不可直接对返回的集合进行增删操作, 如果需要增删操作,应使用toSelection方法
- See:
Returns:
被选中的数据元素集合
- Type
- ht.List
-
getSelectionMode() → {String}
-
获取选中模式
- Default Value:
-
- multiple
Returns:
none|single|multiple
- Type
- String
-
isEmpty() → {Boolean}
-
判断是否有选中的数据元素
Returns:
- Type
- Boolean
-
isSelectable(data) → {Boolean}
-
判断数据元素是否可被选中
Parameters:
Name Type Description data
ht.Data 要判断的数据元素
Returns:
- Type
- Boolean
-
ld() → {ht.Data}
-
返回最后被选中的数据元素,如果没有选中数据元素则返回空,getLastData的缩写
- See:
Returns:
最后被选中的数据元素
- Type
- ht.Data
-
mp(listener, scope, ahead)
-
增加自身属性变化事件监听器,addPropertyChangeListener的缩写
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
Boolean <optional>
是否将当前监听器插入到监听器列表开头
-
ms(listener, scope, ahead)
-
增加监听器,监听选中变化事件,addSelectionChangeListener的缩写
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
ahead
Boolean <optional>
是否将当前监听器插入到监听器列表开头
Example
dataModel.ms(function(event) { //event格式: { kind: "set",//事件类型set|remove|append|clear datas: datas,//包含所有选中状态变化的数据元素,之前选中现在取消选中,和之前没选中现在被选中的数据元素 } });
-
removePropertyChangeListener(listener, scope)
-
删除自身属性变化事件监听器
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
- See:
-
removeSelection(datas)
-
取消选中数据元素,参数可为单个数据元素,也可为ht.List或Array数组
Parameters:
Name Type Description datas
ht.Data | ht.List | Array 数据元素
- See:
-
removeSelectionChangeListener(listener, scope)
-
删除监听选中变化事件的监听器
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
- See:
-
rs(datas)
-
取消选中数据元素,参数可为单个数据元素,也可为ht.List或Array数组,removeSelection的缩写
Parameters:
Name Type Description datas
ht.Data | ht.List | Array 数据元素
- See:
-
sa()
-
选中DataModel中的所有数据元素,selectAll的缩写
- See:
-
selectAll()
-
选中DataModel中的所有数据元素
- See:
-
setFilterFunc(func)
-
设置选中过滤器函数
有些数据元素不希望被用户选中,可以通过设置此过滤器实现Parameters:
Name Type Description func
function 选中过滤器函数
Example
//禁止选中name为test的数据元素 selectionModel.setFilterFunc(function(data) { if (data.getName() === 'test') { return false; } else { return true; } });
-
setSelection(matchFunc, scope) → {ht.List}
-
以matchFunc为过滤函数构建新的元素集合并返回
Parameters:
Name Type Argument Description matchFunc
function <optional>
过滤函数
scope
Object <optional>
函数域
Returns:
元素集合
- Type
- ht.List
-
setSelectionMode(mode)
-
设置选中模式,可选值:
- none:不可选中
- single:只能选中一个数据元素
- multiple:可以选中多个数据元素
Parameters:
Name Type Description mode
String 选中模式
- Default Value:
-
- multiple
-
size() → {Number}
-
获取选中模型中数据元素的个数
Returns:
- Type
- Number
-
ss(datas)
-
设置选中数据元素,参数可为单个数据元素,也可为ht.List或Array数组,setSelection的缩写
Parameters:
Name Type Description datas
ht.Data | ht.List | Array 数据元素
-
toSelection() → {ht.List}
-
获取所有被选中数据元素集合,注意不可直接对返回的集合进行增删操作, 如果需要增删操作,应使用toSelection方法
- See:
Returns:
被选中的数据元素集合
- Type
- ht.List
-
ump(listener, scope)
-
删除自身属性变化事件监听器,removePropertyChangeListener的缩写
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域
-
ums(listener, scope)
-
删除监听选中变化事件的监听器,removeSelectionChangeListener的缩写
Parameters:
Name Type Argument Description listener
function 监听器函数
scope
Object <optional>
监听器函数域