export const SerialNumberColumn = {
Header: "Sr No", // label of header
id: "row",
maxWidth: 50,
filterable: false,
Cell: (row) => {
let {pageIndex} = row.state; // get current page index (1 - n)
let {index} = row.cell.row; // get current row number (0 - 9)
let srNo = ``;
if(pageIndex === 1){
srNo = index + 1;
// 1, 2, 3, 4,
// as index starts from 0
}else{
if(index === 9){
srNo = `${pageIndex}0`;
// in case of 20, 30, 40, 50
}else{
srNo = `${pageIndex - 1}${index + 1}`;
// for others such as 11, 12, 13, 41, 42, ..., n
}
}
return <div>{srNo}</div>;
}
};
例如,您的页面大小为 10(每页 10 行),总共有15 页。所以总记录为 10 * 15 = 150;
上面的代码所做的是,
let {pageIndex} = row.**strong text**state;
这将提取每行的页码。因此,从记录 0-9 开始,页码将为 1
let {index} = row.cell.row;
获取行号
因此,第一行为 0,第二行为 1,依此类推。对于每一页,我们将获得 0-9 条记录或更少,因为页面大小为 10。
- 由于行号从 0 开始,我们将其递增 1。
if(pageIndex === 1){
srNo = index + 1;
// srNo = 0 + 1 -> 1
// srNo = 1 + 1 -> 2
- 从第二页开始,当行号为 9 时,序号应为 20、30、40
行号 | 序列号 0 11 1 12 2 13 。. . . . . 9 20
所以我们只放pageIndex
0
srNo = `${pageIndex}0`;
// srNo = 20
// srNo = 30
// srNo = 40
- 最后是第一页之后的其余序列号
srNo = `${pageIndex - 1}${index + 1}`;
为了。例如:
srNo = `${2 - 1}${0 + 1}`;
11