\ No newline at end of file
diff --git a/docs/data/data-grid/column-recipes/index.md b/docs/data/data-grid/column-recipes/index.md
new file mode 100644
index 0000000000000..9e4a1eb04587c
--- /dev/null
+++ b/docs/data/data-grid/column-recipes/index.md
@@ -0,0 +1,20 @@
+---
+title: Data Grid - Column recipes
+---
+
+# Data Grid - Column customization recipes
+
+
Advanced column customization recipes.
+
+## Persisting column width and order
+
+When the `columns` prop reference is updated, the column width and order is reset to the `colDef.width` and the order of the `colDef` object and any updates will be lost.
+This is because the Data Grid considers update of the columns prop as a new set of columns, and the previous state is discarded.
+
+To persist the column width and order when the `columns` prop is updated, consider persisting the state of the columns in the userland.
+
+{{"demo": "ColumnSizingPersistWidthOrder.js", "disableAd": true, "bg": "inline"}}
+
+:::warning
+[Column ordering](/x/react-data-grid/column-ordering/) is a Pro feature, to use it you must be on a Pro or Premium plan.
+:::
diff --git a/docs/data/pages.ts b/docs/data/pages.ts
index 557be8daaba8b..5692afc3f704b 100644
--- a/docs/data/pages.ts
+++ b/docs/data/pages.ts
@@ -47,6 +47,7 @@ const pages: MuiPage[] = [
{ pathname: '/x/react-data-grid/column-groups' },
{ pathname: '/x/react-data-grid/column-ordering', plan: 'pro' },
{ pathname: '/x/react-data-grid/column-pinning', plan: 'pro' },
+ { pathname: '/x/react-data-grid/column-recipes', title: 'Recipes' },
],
},
{
diff --git a/docs/pages/x/react-data-grid/column-recipes.js b/docs/pages/x/react-data-grid/column-recipes.js
new file mode 100644
index 0000000000000..8fec3624c4302
--- /dev/null
+++ b/docs/pages/x/react-data-grid/column-recipes.js
@@ -0,0 +1,7 @@
+import * as React from 'react';
+import MarkdownDocs from 'docs/src/modules/components/MarkdownDocs';
+import * as pageProps from 'docsx/data/data-grid/column-recipes/index.md?muiMarkdown';
+
+export default function Page() {
+ return ;
+}