Hello,
when upgrading from Mendix 8 to 9/10, ListView filtering behavior changes (especially around context and widgets), which is why your dropdown and checkbox filters are breaking. The Gallery widget does have a more “global” filtering approach by default, but you are not limited to a single filter—best practice is to implement custom filtering using helper attributes (non-persistent entity or page state) and apply them via XPath or microflow datasource. For example, bind each textbox/dropdown/checkbox to attributes in a helper object and filter your Gallery datasource like [Name contains $helper/NameFilter and Status = $helper/StatusFilter], which allows multiple independent filters. Regarding migration, it is recommended to upgrade step-by-step (8 → 9 → 10) rather than jumping directly, as Mendix enforces intermediate upgrades and helps you resolve deprecations gradually. As for alternatives, Gallery is the closest UI replacement for flexible layouts, but for advanced filtering UX, combining Gallery + custom filter logic (helper entity + XPath/microflow) is the most scalable approach; DataGrid2 is powerful but not suitable if your layout is highly customized. Overall, avoid relying on built-in filters and move toward custom filter handling, which is the Mendix best practice in newer versions.
For the Gallery filtering: your understanding is partly correct — the built-in filtering is quite limited. It works well for simple cases, but not for multiple independent filters like in Mendix 8. The best approach is to create a helper/filter entity(for example: SearchName, SearchCode, IsActive, etc.), bind your input fields (textboxes, dropdowns, checkboxes) to that object, and then filter the Gallery using a datasource microflow or XPath constraint. This gives you full flexibility and is the standard way to handle complex filtering now.
Regarding the upgrade path: it’s not recommended to jump directly from Mendix 8 to 10. The safer and more maintainable approach is to first upgrade from 8 to 9 and stabilize the app, then move from 9 to 10. This way, if something breaks, you can easily identify where the issue comes from and fix it faster.
As for alternatives to List View: if Data Grid 2 doesn’t fit your UI requirements, then Gallery is the correct modern replacement. However, instead of relying on its built-in filtering, you should combine it with custom filtering logic (using the helper object approach) to fully match your previous behavior.
In summary, using Gallery together with a helper filter entity is the most stable and scalable solution when migrating from Mendix 8 patterns.
If this resolves your issue, you can mark it as accepted.
Hi,
You are running into a combination of breaking changes between Mendix 8 → 9+ and differences in how filtering is handled in List View vs Gallery.
I’ll address your questions one by one.
In Mendix 8, List View filtering (especially with custom dropdowns and checkboxes) was often implemented using:
In Mendix 9+, there were changes in:
Because of this, older filter implementations may:
So this is expected during upgrade, and usually requires refactoring rather than direct reuse.
Yes, your understanding is correct.
Gallery does not natively support multiple independent filters like List View did. A single search bar is typically applied to one data source, and it is not automatically designed for:
The correct and scalable approach is to move filtering logic to a helper object + microflow.
SearchTextStatusCategoryIsActive (boolean for checkbox)SearchTextStatusIsActive[contains(Name, $FilterHelper/SearchText)] [Status = $FilterHelper/Status or $FilterHelper/Status = empty] [IsActive = $FilterHelper/IsActive or $FilterHelper/IsActive = empty]
This gives you full control and multiple filters, similar (and better) than old List View behavior.
Recommended approach:
Reason:
Depending on your use case:
If Data Grid 2 does not fit your UI, then:
→ Gallery + custom filter logic is the correct approach
Hi all, thanks for the answers.
We tried following the steps. Had a non persistant entiry in our data model already; on our page we placed a gallery object that is displaying the list of records correctly; but when we try to place a search text box (within the gallery object and also outside the gallery object on the same page) firstly we are getting an error "This widget can only function inside a data container. Move it into a data view, list view or template grid." and secondly we tried to link an attribute the to text box and were not able to (the selection screen to link the attribute comes up with nothing).
Was wondering that on the page the we first place a data container above the gallery? and place text box for search within the data container?
Tried with check box and drop down.
For now the data source of the gallery is Xpath with contraint (image attached).
Images attached.
Please let us know what you think would we might be doing wrong/better approach.
Appreciate the help.
Thanks a bunch.
Images.