diff --git a/frontend/src/AppBuilder/Widgets/NewTable/_components/TableData/_components/TableRow.jsx b/frontend/src/AppBuilder/Widgets/NewTable/_components/TableData/_components/TableRow.jsx
index 77d759ad7d..36d2d84929 100644
--- a/frontend/src/AppBuilder/Widgets/NewTable/_components/TableData/_components/TableRow.jsx
+++ b/frontend/src/AppBuilder/Widgets/NewTable/_components/TableData/_components/TableRow.jsx
@@ -27,7 +27,7 @@ export const TableRow = ({
return (
[...data], [data, columns]);
+ const newData = useMemo(
+ () =>
+ data.map((row) => ({
+ ...row,
+ uniqueId: row.uniqueId || uuidv4(), // Use existing ID if available
+ })),
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ [data, columns]
+ );
const table = useReactTable({
data: newData,
@@ -44,7 +53,7 @@ export function useTable({
getFilteredRowModel: getFilteredRowModel(),
enableColumnResizing: true,
columnResizeMode: 'onChange',
- getRowId: (row) => row.uuid,
+ getRowId: (row) => row.uniqueId,
enableRowSelection: true,
enableMultiRowSelection: showBulkSelector,
state: {