Grid layouts explained

Layout’s main goal is to remember user’s last changes in grid for column sizes, order, and visible columns.
Modestas Dromantas
Modestas Dromantas

The data grid layout functionality has been revised to make sure everything works as expected and some changes have been made to meet requirements.

Layout’s main goal is to remember user’s last changes in grid for column sizes, order, and visible columns.

There is also the possibility to define default layouts globally on database or per specific context. This allows clients to customize data grids on apps to meet specific requirements or even have different layouts in different contexts.

All user changes/overrides will be saved as his own under current used layout.

Developer defined layout

If there are no layouts defined in setup, users will no be able to pick up any layout. Grid will be rendered as it is defined in code and all changes in grid will be saved in database as a personal overrides, so next time page loads grid will be rendered based on user overrides.

Default Layout defined in setup per solution

Default layout has higher priority than defined in the app. So when grid is rendered it checks for default layout and if it finds one, uses given overrides to render a grid.

In this case all user changes are saved as his own overrides under the same layout and will be applied with this layout.

Default layout may have selected context. It means system will pickup closest one. When context is changed, grid will trigger layout check and if new context will have different default it will use new one and re render grid. If there won't be any on a new context, then it will use developer defined with user overrides if there is any. 

Shared Layouts

When setting up layout it may be set as shared. It means all users, depending on context (if such is set) will be able to choose it via layout chooser. Worth thing to mention, shared layout will not be auto selected like it happens with default layout. They are needed to be explicity selected in order to be used.

Selected Layouts

Once user selects shared or default layout it will be saves as his choice and will have highest priority for auto select once grid loads. If context is changed and that layout is not available under different context, then it will default or developer one.

Creating layouts

Layouts are usually created on the app in the context when there is no layout except developer one. So all changes are saved as personal one and then it is changed to default or shared. To set it to shared or default /o365setup?articleId=o365setup-gridlayouts&menuGroup=System app can be used, by simply choosing layout and pressing specific button.

Main difference between shared and default

Displayed same way for a user, depending on context.

Has no owner in person field.

Default has checkbox "Is Default" set.

Only default will be auto picked for a user when grid is rendered.