We encounter a performance issue with 1 of our forms. The form uses several tabs inside a dataview. Each tab contains 1 or more datagrids each with a relationship to the dataview object. When analyzing the queries executed by Mendix when opening the forms (set log node: ConnectionBus_Retrieve to Trace) we notice that when opening the form, data in a specific sub tab (which is not the default tab) is already retrieved. In this specific case the content of the sub tab is a datagrid containing an entity that contains a column (A) defined as an unlimited string column that contains a lot of data. The column A is not displayed in the grid however is displayed in the log. Further testing showed that in the case we use a datagrid with a microflow source in a sub tab of a (non-default) tab that the microflow is called (several times even) as well on opening of the form. My question, I assumed that the content of the tabs is only loaded once the tab is selected (I remember it used to be like this in earlier releases). In this case it seems like all content (at least the id's) in all tabs is already retrieved on opening the form. Is it possible to prevent this from happening? If not it might require redesign of several of our forms. Edit: Did an update to activate my question once more (no comments/answers yet). Maybe someone (@mendix maybe) can explain how the mendix platform handles tabbed pages? Thanks.
I checked the code in Mendix 5 and a tab page is preloaded it contains either:
A custom widget or
An input widget that can be editable
That means a tab page with only a data grid inside should not be preloaded. The Mendix 4 behavior might be different.