gpt4 book ai didi

sorting - Ext js按内容排序自定义列

转载 作者:行者123 更新时间:2023-12-03 22:21:02 24 4
gpt4 key购买 nike

我在 ext 中有一个带有一些自定义列的网格,我希望能够对此列进行排序 - 我想按照其中显示的内容对其进行排序,但实际上我只是不知道如何为列定义排序器这不会基于 dataIndex - 我尝试使用自定义模型,但我无法让它工作。

{
text: 'Parent',
dataIndex: 'Parent',
renderer: function(value, meta, record) {
var ret = record.raw.Parent;
if (ret) {
return ret.Name;
} else {
meta.tdCls = 'invisible';
return record.data.Name;
}
},
sortable: true
},

最佳答案

您应该能够覆盖 doSort列的方法。这是它的要点。我还创建了一个工作 fiddle ( http://jsfiddle.net/cfarmerga/LG5uA/ )。 fiddle 使用字段的字符串长度作为排序的属性,但当然您可以应用自己的自定义排序逻辑。

var grid = Ext.create('Ext.grid.Panel',{
//...
columns: [
{ text: 'name', dataIndex: 'name', sortable: true },
{
text: 'Custom',
sortable : true,
dataIndex: 'customsort',
doSort: function(state) {
var ds = this.up('grid').getStore();
var field = this.getSortParam();
ds.sort({
property: field,
direction: state,
sorterFn: function(v1, v2){
v1 = v1.get(field);
v2 = v2.get(field);
return v1.length > v2.length ? 1 : (v1.length < v2.length ? -1 : 0);
}
});
}
}
]
//....
});

关于sorting - Ext js按内容排序自定义列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com