Upgrade from 8; question regarding List view.

0
Hello,Had a few questions please. We have a mobile app that is currently built on Mendix Studio Pro version 8.18.5. The app has a listview and added drop down and check box filters.We are planning to upgrade to mendix version 9 then 10. When the app that was created in 8 opened in 9 the listview related dropdown and checkbox filters are giving errors.We read around the forums and found Gallery to be an alternative that would best suite our current data display (pretty close to what we have currently) and replaced the listview with gallery object. (cant use datagrid2 because of how data needs to be displayed)-Gallery has a filter that is not assosiacted with a single data object, seems universal. a single text box as a filter for multiple data objects instead of allowing multiple filters for different data objects; please correct me if I have it wrong. Is there a workaround to this to allow multiple tex boxes acting as filters for diferent data objects?-Instead of migrating from 8 to 9 then to 10 of Menxix Studio Pro, would it be better to migrate directly to version 10.-Is there a better alternative to listview with dropdown and checkbox filters.Would really appreciate any inputs/thoughts.Thanks a bunch.
asked
3 answers
2

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.

answered
2

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.

answered
1

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.

1. Why List View filters (dropdown / checkbox) break after upgrade

In Mendix 8, List View filtering (especially with custom dropdowns and checkboxes) was often implemented using:

  • XPath constraints
  • Context-based filtering
  • Sometimes custom widgets

In Mendix 9+, there were changes in:

  • Data handling (especially around data sources and context)
  • Deprecated widgets / behavior
  • Stricter typing and validation

Because of this, older filter implementations may:

  • Throw errors
  • Stop updating the data source correctly

So this is expected during upgrade, and usually requires refactoring rather than direct reuse.

2. Gallery filtering limitation

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:

  • Multiple attributes
  • Multiple filter controls (dropdown + checkbox + text)

3. Workaround to support multiple filters

The correct and scalable approach is to move filtering logic to a helper object + microflow.

Step-by-step approach:

  1. Create a Filter Helper entity (non-persistent)
    • Attributes like:
      • SearchText
      • Status
      • Category
      • IsActive (boolean for checkbox)
  2. Place inputs on the page:
    • Text box → SearchText
    • Dropdown → Status
    • Checkbox → IsActive
  3. Use a microflow as Gallery data source
  4. Inside the microflow:
    • Retrieve data using XPath with conditions, for example:
[contains(Name, $FilterHelper/SearchText)]
[Status = $FilterHelper/Status or $FilterHelper/Status = empty]
[IsActive = $FilterHelper/IsActive or $FilterHelper/IsActive = empty]

  1. After each filter change:
    • Trigger microflow
    • Refresh Gallery

This gives you full control and multiple filters, similar (and better) than old List View behavior.

4. Upgrade strategy (8 → 9 → 10 vs direct to 10)

Recommended approach:

  • Do not jump directly from 8 → 10
  • Upgrade step-by-step:
    • 8 → 9 (fix errors)
    • 9 → 10 (final stabilization)

Reason:

  • Each version introduces breaking changes
  • Studio Pro provides migration guidance incrementally
  • Easier debugging and safer refactoring

5. Better alternative to List View with filters

Depending on your use case:

  • Gallery + microflow filtering → Best for custom UI (recommended)
  • Data Grid 2 → Best if your layout allows (built-in filtering, sorting, paging)
  • List View (refactored) → Still valid, but needs cleanup after upgrade

If Data Grid 2 does not fit your UI, then:

→ Gallery + custom filter logic is the correct approach


  • List View filters breaking is expected after upgrade and requires refactoring
  • Gallery does not support multiple filters out of the box
  • Use a Filter Helper + microflow to implement multi-filter logic
  • Upgrade step-by-step (8 → 9 → 10), not directly
  • Best modern approach: Gallery with server-side filtering logic



answered