There is no built-in option for this: the grid table is rendered with width: 100% and table-layout: fixed, so the grid always fills its container. However, you can achieve it with a ColumnResized handler that sets the grid width to the sum of the column widths, capped by max-width. Every column needs a Width (or use the grid ColumnWidth), and box-sizing: content-box is needed because the grid has a 1px border on each side.
When the total is below max-width the grid shrinks to fit the columns; when it exceeds it, the grid stays at max-width and shows a horizontal scrollbar.