在 ExtJS 3.3.1 中,如何按降序顺序获取 rowNumberer header ,当前显示 1,2,3,4,...
这是标题示例
..
{header:'id', dataIndex:'id', hidden:true },
new Ext.grid.RowNumberer(),
{header:'Folio:', dataIndex:'folio' },
...
最佳答案
看起来你可以覆盖渲染器函数。或者,如果您要重复使用此技术,请使用自己的渲染器派生您自己的 ReverseRowNumberer 类。这是现有的渲染器(4.1 中):
renderer: function(value, metaData, record, rowIdx, colIdx, store) {
if (this.rowspan){
metaData.cellAttr = 'rowspan="'+this.rowspan+'"';
}
metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
return store.indexOfTotal(record) + 1;
}
您可以保持相同的元数据样式并将最终返回值更改为
return store.getCount() - store.indexOfTotal(record);
我没有运行 3.x Ext 安装,但渲染器签名在 3.x 和 4.x 之间似乎保持不变。如果您查看商店的文档,您会发现 3.x 中有 indexOf
可用。或者您可以直接使用 row
索引值。如果您没有启用分页,这些将是简单且有效的。如果您确实有分页功能,则可以使用商店的 getTotalCount
方法并以某种方式自行查找索引。要点是,对于 Store 的大多数用途,您可以在渲染器方法参数中获得足够的信息来计算所需的行号值。
renderer: function (value, meta, record, row, col, store) {
// set up the meta styles appropriately, etc.
// then:
return store.getCount() - row;
}
关于javascript - ExtJs 中的反向 RowNumberer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17324807/