在 ExtJS 3.3.1 中,如何按 desc 顺序获取 rowNumberer 标头,当前显示 1,2,3,4,...
这是标题示例
..
{header:'id', dataIndex:'id', hidden:true },
new Ext.grid.RowNumberer(),
{header:'Folio:', dataIndex:'folio' },
...
在 ExtJS 3.3.1 中,如何按 desc 顺序获取 rowNumberer 标头,当前显示 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 之间保持不变。如果您查看商店的文档,您会发现您indexOf
在 3.x 中可用。或者您可以直接使用row
索引值。如果您没有启用分页,这些将是简单有效的。如果确实有分页,则可以使用 store 的getTotalCount
方法并以某种方式自己找到索引。关键是,对于 Store 的大多数用途,您在渲染器方法 args 中有足够的可用信息来计算您需要的行号值。
renderer: function (value, meta, record, row, col, store) {
// set up the meta styles appropriately, etc.
// then:
return store.getCount() - row;
}