From 7798f2231e2b8ff82be687991f8238a4bde9675d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E4=B8=AB=E8=AE=B2=E6=A2=B5?= Date: Tue, 9 Jun 2026 15:45:20 +0800 Subject: [PATCH] =?UTF-8?q?fix(grid):=20=E4=BF=AE=E5=A4=8D=E5=8F=B3?= =?UTF-8?q?=E9=94=AE=E8=8F=9C=E5=8D=95=E9=80=89=E6=8B=A9=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E6=B8=85=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 感谢 @eryajf 的贡献! --- apps/desktop/src/components/grid/DataGrid.vue | 4 +++ .../src/components/layout/ContentArea.vue | 30 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/components/grid/DataGrid.vue b/apps/desktop/src/components/grid/DataGrid.vue index a29e23237c..fefa92f12d 100644 --- a/apps/desktop/src/components/grid/DataGrid.vue +++ b/apps/desktop/src/components/grid/DataGrid.vue @@ -5178,6 +5178,7 @@ function onCellContext(rowId: number, rowIndex: number, colIdx: number, visibleC contextHeaderColumnIndex.value = null; contextCell.value = { rowId, rowIndex, col: colIdx }; if (hasRowSelection.value && isRowSelected(rowId)) { + clearCellSelection(); void prefetchCopyStatements(); return; } @@ -5192,6 +5193,9 @@ function onRowContext(rowId: number, rowIndex: number) { contextHeaderColumn.value = null; contextHeaderColumnIndex.value = null; contextCell.value = { rowId, rowIndex, col: -1 }; + if (hasRowSelection.value && isRowSelected(rowId)) { + clearCellSelection(); + } if (!isRowSelected(rowId)) { clearCellSelection(); selectedRowIds.value = new Set([rowId]); diff --git a/apps/desktop/src/components/layout/ContentArea.vue b/apps/desktop/src/components/layout/ContentArea.vue index e3bca53004..ab1fe5d7ba 100644 --- a/apps/desktop/src/components/layout/ContentArea.vue +++ b/apps/desktop/src/components/layout/ContentArea.vue @@ -516,7 +516,9 @@ defineExpose({ focusSearch, refreshData, handleModRTarget }); variant="ghost" size="icon" class="ml-auto h-6 w-7 shrink-0 text-foreground hover:bg-accent" - :class="{ 'bg-accent text-foreground': dataGridRef?.nullColumnsHidden }" + :class="{ + 'bg-accent text-foreground': dataGridRef?.nullColumnsHidden || dataGridRef?.multiRowTranspose, + }" :title="t('grid.viewOptions')" :aria-label="t('grid.viewOptions')" > @@ -532,6 +534,32 @@ defineExpose({ focusSearch, refreshData, handleModRTarget });
{{ t("grid.viewOptions") }}
+ + +