Maximo

 View Only

 Maximo mobile 9.0 data-list inside inside another data-list

guillaume munger's profile image
guillaume munger posted Mon February 23, 2026 11:25 AM

Hi,

I have a question regarding the use of nested data-lists in Maximo Mobile.
I have a primary data-list that is bound to a datasource, and inside its list-details, I include a second data-list that uses a different datasource.

I would like to filter the second datasource based on an attribute that comes from the first datasource.

Is there any supported way in Maximo Mobile to apply a filter on the second data-list using a value from the first datasource?
If not, is there any recommended workaround to achieve this behavior?

Thank you.

Biplab Choudhury's profile image
Biplab Choudhury IBM Champion

I can see the Wodetail dataset already has a similar child dataset and it is using relationships to filter data based on the parent data set.

You could also try to write your complex logic in a data controller class.

It would be good to know the scenario of why you need to use a nested dataset.

guillaume munger's profile image
guillaume munger

Hi Biplap,

I am currently working on TechMobile, and I would like to describe a scenario involving work orders and associated tasks. A work order can contain multiple tasks, and some of these tasks may have an assigned classification. The value of classstructure.description for those classifications may correspond to terms such as “box storage” or “locker.”

In addition, a work order may have multiple assets associated with it through the MULTIASSETLOCCI relationship. These assets can also have descriptions such as “box storage” or “locker.”

Our objective is to ensure that each task with a classification displays only the subset of assets whose assetdescription matches the task’s classstructure.description. In other words, for every task within the work order, we want to dynamically filter the asset list so that it shows only the relevant entries.

However, I have not been able to find any supported way in Maximo Mobile to apply this type of per‑task filtering on a data-list that uses a separate datasource.

Do you know if such filtering is possible, or if there is a recommended workaround to achieve this behavior?

Thank you.

Biplab Choudhury's profile image
Biplab Choudhury IBM Champion

Hey mate,

Now that I understand the requirement, I believe there are multiple ways to build this in Mobile. Some of the experts will have other solutions.

If I as build it then, I would create a json datasource under the Tasks page or where you want to show this filtered list of assets. Json datasource would loaded with a js class file by filtering the multi asset datasource based on task description.

I believe IBM has done a similar json data source for woPlanTaskDetaildsSelected. If you do some reverse engineering then you can use the same concept. Json datasource are great as it avoids additional calls to Maximo and you can control when to load the data source to achieve right performance standards.

All the best.

Modern Mullets's profile image
Modern Mullets

The framework does not support true nested data-list components because each data-list is designed to bind to a specific data source (object structure) and render independently. Nesting them directly can cause rendering issues and data binding conflicts.

Recommended Approach:

Use a parent data-list for the main records.

Inside each item, use:

A data-table for child records, or

A separate view/dialog/page to display related child data.

Alternatively, configure a relationship in the object structure and display child records using a collapsible section. 

guillaume munger's profile image
guillaume munger

Thank you for your response, Biplap.

After conducting additional tests, I identified the root cause of the issue. The filter must be applied at the data‑list level, not on the datasource itself. Applying the filter directly to the datasource affects every instance of that datasource, which results in all lists being filtered whenever one task applies a filter. Since each task uses the same underlying datasource, filtering it globally produces incorrect results.

I found in TechMobile that the following component:
<attachment-list
    datasource="{woPlanTaskDetailds.getChildDatasource('doclinks', item, { query: { attachment: true } })}"
    border="false"
    hide-when-empty="{!item.doclinks.member.length}"
    is-editable="false"
    show-managed-header="false"
    show-search="false"
    allow-naming="true"
    id="kwdnz"/>
is able to apply a filter through getChildDatasource, thanks to the fact that the doclinks relationship supports options such as query when creating a child datasource.
However, in my case:
<data-list
    datasource="MultiAssetLocationds"
    id="q439s"
    tight="true"
    show-search="false"
    margin="{app.state.screen.size === 'sm' ? false : true}">
    <list-item id="sqwer"/>
</data-list>
I have not been able to find any supported mechanism to apply a filter at the data-list level, nor to create a filtered child datasource from MultiAssetLocationds, even after reviewing the datasource.js implementations within Maximo Mobile.