When assigning data to a grid dynamically (ie: not specific columns to a grid) the Grid Columns should autosize to the width of the headers. Currently the only workaround is to use grid.AutoFitColumns() and wrap it in a timeout function. This causes erratic jumps in grid rendering and looks unprofessional.
Users should have the option to set gridColumnAutosize = true in the grid component. Then if users dynamically assign the grid data source without explicitly assigning columns then the grid columns will autosize to the width of the column header name.
Here is an example of the grid trying to squeeze in all data into the visible area. When it should autosize and create a scrollbar for anything that cannot fit on the page.
https://stackblitz.com/edit/angular-9jogrg?file=app%2Fcustomers.ts