Ag-Grid Angular设置ID列:编号从0起始无法递增为1的问题
解决Ag-Grid ID列从1开始编号的问题
嘿,我懂你遇到的困扰了——想在Ag-Grid里生成从1开始的ID列,但用params.node.id + 1没达到预期效果对吧?
问题根源
params.node.id是Ag-Grid内部维护的节点唯一标识,它不一定是连续递增的数字,而且和行的显示顺序没有强关联(比如删除行、过滤排序后,这个ID不会跟着重新排序)。所以直接给它加1自然没法得到从1开始的连续序号。
正确解决方案
你应该用params.rowIndex来实现,它代表当前行在当前视图中的索引(从0开始),给它加1就能得到从1开始的序号:
{ headerName: 'id', cellRenderer: function (params) { return params.rowIndex + 1; } }
进阶:分页场景下的全局连续序号
如果你的表格开启了分页,上面的方法只会在当前页从1开始计数。要是想实现跨页的全局连续序号,可以结合分页参数计算:
{ headerName: 'id', cellRenderer: function (params) { const pageSize = params.api.paginationGetPageSize(); const currentPage = params.paginationPageNumber; return (currentPage - 1) * pageSize + params.rowIndex + 1; } }
这样不管切换到哪一页,序号都会保持全局连续啦!
内容的提问来源于stack exchange,提问作者user3109801
相关产品推荐
相关产品推荐

