Skip to content

Commit 007e7d1

Browse files
authored
Merge pull request #3800 from libondev/feat/table-cols-widths
feat: add `getAllColsWidths` api, support to get a list of all table column widths
2 parents 1265c78 + dd4656c commit 007e7d1

File tree

4 files changed

+34
-0
lines changed

4 files changed

+34
-0
lines changed

docs/assets/api/en/methods.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1414,6 +1414,16 @@ getAllColsWidth: () => number;
14141414

14151415
```
14161416
1417+
## getAllColsWidths(Function)
1418+
1419+
get all columns width list
1420+
1421+
```
1422+
1423+
getAllColsWidth: () => number[];
1424+
1425+
```
1426+
14171427
## setSortedIndexMap(Function)
14181428
14191429
Set up a pre-sort index to improve initial sorting performance in scenarios where large amounts of data are sorted.

docs/assets/api/zh/methods.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,6 +1261,14 @@ getAllRowsHeight: () => number;
12611261
getAllColsWidth: () => number;
12621262
```
12631263

1264+
## getAllColsWidths(Function)
1265+
1266+
获取表格所有列的宽度列表
1267+
1268+
```
1269+
getAllColsWidth: () => number[];
1270+
```
1271+
12641272
## setSortedIndexMap(Function)
12651273

12661274
设置预排序索引,用在大数据量排序的场景下,提升初次排序性能

packages/vtable/src/core/BaseTable.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1664,6 +1664,21 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
16641664
return w;
16651665
}
16661666

1667+
/**
1668+
* 获取所有表列的宽度的数组
1669+
* @returns {number[]} 宽度列表
1670+
*/
1671+
getColsWidths(): number[] {
1672+
const maxCount = this.colCount;
1673+
const widths: number[] = [];
1674+
1675+
for (let col = 0; col < maxCount; col++) {
1676+
widths.push(this.getColWidth(col));
1677+
}
1678+
1679+
return widths
1680+
}
1681+
16671682
/**
16681683
* 根据列号 获取列宽最大值
16691684
* @param {number} col column index

packages/vtable/src/ts-types/base-table.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,7 @@ export interface BaseTableAPI {
778778
// focusCell(col: number, row: number): void;
779779
getCellOverflowText: (col: number, row: number) => string | null;
780780
getColsWidth: (startCol: number, endCol: number) => number;
781+
getColsWidths: () => number[];
781782
getRowsHeight: (startRow: number, endRow: number) => number;
782783

783784
release: () => void;

0 commit comments

Comments
 (0)