javascript - ExtJs 中的反向 RowNumberer?

标签 javascript extjs

在 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/

相关文章:

javascript - 闭包与 ES6 Let

javascript - 使用knockout js view.items()的for循环

javascript - 在 ngAutocomplete (Angular) 中选择项目时自动提交表单

javascript - ExtJS - 根据值更改操作列上的工具提示

internet-explorer - ExtJS 和臭名昭著的内存泄漏

javascript - View 需要多个 API 端点——如何以非阻塞方式加速请求?

javascript - Mongo 外壳光标 : updated documents get to cursor again

javascript - 使用 extjs 将组合框放置在文本字段旁边

javascript - 在网格上,CheckboxModel 不适用于分组

ExtJS 4 : How can I configure a store to load models for a specific set of IDs?