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