过滤列的集合
Filtering column's collection
在我的 Webix 数据表中,一列从 DataColletion 中获取数据。问题出在列的过滤中:它似乎适用于原始数据(包含 ID)并忽略了数据集合的值。如何更改此行为并按集合的值过滤数据表?
数据:
var mycollection = new webix.DataCollection({
data:[{
id: '12',
value: 'CollItem 1'
}]
});
var mydata = [{
id: 1,
name: 'Item 1',
troublesomeColumn: '12' // id of the CollItem 1
}];
配置:
columns:[{
id: 'troublesomeColumn',
collection: mycollection,
header:{
content:"textFilter"
}
}],
data:mydata
Code snippet。提前致谢。
过滤器适用于数据集,不适用于链接集合中的模板或值。因此,您需要按照 Webix 文档中的描述 create a custom filtering rule,即在过滤器的 compare
属性 中定义所需的模式:
{
content:"textFilter",
compare:function(value, filter, obj){
var colValue = mycollection.getItem(value).value;
toFilter = colValue.toString().toLowerCase();
filter = filter.toString().toLowerCase();
return toFilter.indexOf(filter) !== -1;
}
}
在我的 Webix 数据表中,一列从 DataColletion 中获取数据。问题出在列的过滤中:它似乎适用于原始数据(包含 ID)并忽略了数据集合的值。如何更改此行为并按集合的值过滤数据表?
数据:
var mycollection = new webix.DataCollection({
data:[{
id: '12',
value: 'CollItem 1'
}]
});
var mydata = [{
id: 1,
name: 'Item 1',
troublesomeColumn: '12' // id of the CollItem 1
}];
配置:
columns:[{
id: 'troublesomeColumn',
collection: mycollection,
header:{
content:"textFilter"
}
}],
data:mydata
Code snippet。提前致谢。
过滤器适用于数据集,不适用于链接集合中的模板或值。因此,您需要按照 Webix 文档中的描述 create a custom filtering rule,即在过滤器的 compare
属性 中定义所需的模式:
{
content:"textFilter",
compare:function(value, filter, obj){
var colValue = mycollection.getItem(value).value;
toFilter = colValue.toString().toLowerCase();
filter = filter.toString().toLowerCase();
return toFilter.indexOf(filter) !== -1;
}
}