Skip to content

セルマージ ^0.8.0

StkTableColumns['mergeCells'] 関数を通じてマージするセルを指定します。

ts
function mergeCells(data: {
    row: any,
    col: StkTableColumn<any>,
    rowIndex: number,
    colIndex: number
}): {
    /** マージする列数 */
    colspan:number, 
    /** マージする行数 */
    rowspan:number
}

{ colspan: number, rowspan: number } を返してマージするセル数を示し、colspan は列用、rowspan は行用です。

列マージ

loading

行マージ

loading

TIP

テーブルデータが変更されると、mergeCells 関数が再度呼び出されて再計算されます。

仮想リストでの行マージ ^0.8.4

シンプルマージ

loading

コードでは、行の rowspan フィールドをマージ数として使用するように mergeCells 関数が定義されています。

ts
function mergeCells({ row, col }: { row: any, col: StkTableColumn<any> }) {
    if (!row.rowspan) return;
    return { rowspan: row.rowspan[col.dataIndex] || 1 };
}

これにより、mergeCells 関数で追加の判断をせず、データに直接マージ数を定義できます。

ts
{
    id: '1-1-1', continent: 'アジア', country: '日本', province: '東京',
    rowspan: { continent: 12, country: 6, }
}

パフォーマンス

仮想リストモードでは、すべてのマージセル(mergeCells関数)が走査されるため、パフォーマンスにある程度の影響を与える可能性があります。

注意

rowspanが非常に大きい場合(例如:1000行)、マージセルはそれでもカバーするすべての行をレンダリングしますTherefore, rowspan is not recommended to be very large.

この機能はまだ 横方向仮想リスト をサポートしていません。

不規則マージ

loading

MITライセンスの下で公開されています