【发布时间】:2013-07-19 21:24:39
【问题描述】:
背景
当我尝试按使用自定义渲染器的列进行排序时,什么都没有发生 - 它从 ASC 到 DESC 来回更改排序,但数据的顺序永远不会改变。我假设这是因为没有定义如何对我使用自定义渲染器操作的数据进行排序,但我似乎找不到向列添加排序器或排序功能的方法。
目标
我正在制作一个要按父列排序的网格。我想对其进行排序,使父级出现在其任何子级之上(父级是汇总,子级是特征)。
想法
对于功能,将父级的名称放在父列中。对于 Rollups,将其自身的名称放在父列中,并为其添加一个设置
的类display: none;
然后,您可以轻松地将其整理出来,让父母出现在孩子的上方
代码
{
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;
}
}
},
【问题讨论】:
-
我建议使用
record.get('Parent')而不是使用record.raw.Parent。