This is an automated email from the ASF dual-hosted git repository.

enzomartellucci pushed a commit to branch enxdev/fix/echarts
in repository https://gitbox.apache.org/repos/asf/superset.git

commit a1b0ad41271dfe8a3e6a5d8adceaffd5caa8e694
Author: Enzo Martellucci <[email protected]>
AuthorDate: Thu Feb 26 17:35:57 2026 +0100

    fix(echarts): handle empty string dimension in data table column ID
---
 .../superset-ui-core/src/components/TableCollection/utils.tsx        | 5 ++++-
 superset-frontend/src/explore/components/DataTableControl/index.tsx  | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
 
b/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
index bc4cf2fd065..0e8d761aca5 100644
--- 
a/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
+++ 
b/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
@@ -92,7 +92,10 @@ export function mapColumns<T extends object>(
     const { isSorted, isSortedDesc } = getSortingInfo(headerGroups, column.id);
     return {
       title: column.Header,
-      dataIndex: column.id?.includes('.') ? column.id.split('.') : column.id,
+      dataIndex:
+        typeof column.id === 'string' && column.id.includes('.')
+          ? column.id.split('.')
+          : column.id,
       hidden: column.hidden,
       key: column.id,
       width: column.size ? COLUMN_SIZE_MAP[column.size] : undefined,
diff --git 
a/superset-frontend/src/explore/components/DataTableControl/index.tsx 
b/superset-frontend/src/explore/components/DataTableControl/index.tsx
index 4d1e1ecf784..2e9e11776d3 100644
--- a/superset-frontend/src/explore/components/DataTableControl/index.tsx
+++ b/superset-frontend/src/explore/components/DataTableControl/index.tsx
@@ -317,7 +317,7 @@ export const useTableColumns = (
                 originalFormattedTimeColumns.includes(key);
               return {
                 // react-table requires a non-empty id, therefore we introduce 
a fallback value in case the key is empty
-                id: key || index,
+                id: key || String(index),
                 accessor: (row: Record<string, any>) => row[key],
                 Header:
                   colType === GenericDataType.Temporal &&

Reply via email to