From fde76d5576ab987e47f4a472819641aee0cc37b5 Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Thu, 7 May 2026 02:23:33 +0800 Subject: [PATCH] fix(grid): show query errors as alert instead of table row --- src/components/grid/DataGrid.vue | 18 +++++++++++++++++- src/i18n/locales/en.ts | 1 + src/i18n/locales/zh-CN.ts | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/components/grid/DataGrid.vue b/src/components/grid/DataGrid.vue index 188deb73b2..83bdd7288d 100644 --- a/src/components/grid/DataGrid.vue +++ b/src/components/grid/DataGrid.vue @@ -27,6 +27,7 @@ import { WrapText, Info, Rows3, + TriangleAlert, } from "lucide-vue-next"; import { Button } from "@/components/ui/button"; import { @@ -514,6 +515,10 @@ const emptyTitle = computed(() => (hasActiveFilter.value ? t("grid.noFilteredRow const emptyDescription = computed(() => hasActiveFilter.value ? t("grid.noFilteredRowsDescription") : t("grid.noRowsDescription"), ); +const isErrorResult = computed( + () => props.result.columns.length === 1 && props.result.columns[0] === "Error" && props.result.rows.length > 0, +); +const errorMessage = computed(() => (isErrorResult.value ? String(props.result.rows[0]?.[0] ?? "") : "")); const selectedRange = computed(() => { if (!selectionAnchor.value || !selectionFocus.value) return null; return normalizeSelectionRange(selectionAnchor.value, selectionFocus.value); @@ -1340,7 +1345,18 @@ function escapeAndHighlightKeywords(s: string): string {
+
+ +