333
Views
9
Comments
Solved
[OutSystems Data Grid] how to extend data grid to expand collapse row to show details
outsystems-data-grid
Reactive icon
Forge asset by OutSystems
Application Type
Reactive

Need the functionality to use nested grids so that a table row can be expanded to show a more detailed table/grid in side the a table row.  An oml with a example would be very helpful. This is a feature thats being commonly asked.

2022-11-12 11-28-30
Gonçalo Martins
Staff
Solution

Hello @Olga Smolyar 

I was able to create a sample where you can use this functionality with the HTML version (you can pick this as a starting point).

To do so, please follow these steps:

  • you need to import the script file wijmo.grid.detail since it is not part of the OutSystems Data Grid component and add it as a required script to the screens where you want to implement this functionality
    • Note: you need to use the same versions of the scripts from the OutSystems Data Grid component that at this time (current version 2.13.0) uses version Wijmo Library 5.20231.908-RC (2023)
       
  • In the Grid OnInitialize event, add a JavaScript node with the following script:
  • For demo purposes also added a CSS class to showcase a way to customize it in the future
  • It will look like this:

Important to note that overriding the internal method _getRowMetadataByRowNumber is not a good practice but in this case is the only way to allow this functionality to work as a workaround since this is not offered as a functionality, so is fully the developer's responsibility to maintain this code and it was not tested on all possible use cases.

Hope it helps.

Cheers,
GM

DataGrid_RowDetails.oml
2022-11-12 11-28-30
Gonçalo Martins
Staff

Hello @SANTHOSH PRINCETON 

This seems a bit too vague and demanding. Could you provide more details and examples about what you want to achieve and about what you already tried so that the community could have a baseline to try to help on this? 
From the Wijmo Flexgrid documentation and APIs, what have you tried out and have you checked if the functionality even exists on the library?
Currently, and if I understood well the type of use case, out of the box there's no such functionality, but you need to provide more details and share want you've tried.

Cheers,
GM 

2025-05-22 09-35-28
SANTHOSH PRINCETON

Hi thank you for you response, actually i had 2 requirements one was the ability to create a master detail table. I referred to Wijmo library and i saw that they had the ability to create master detail view using grids(nested grids) 

i needed this option, but i was unable to see how this could be implemented in outsystems. Instead of single level of nesting it could go for one or more levels also.

Second Requirement

When i was unable to implement the above i found that datagrid had the ability to drag and drop the column so that group can be formed. the output was correct if the grouping was done in a client side data grid, we have records where the records can be above 60 thousand. so i tried the server side option but while doing that the the grouping is done only for the contents in the first page. for example, We have grouped Laptop brands. totally there are 10 dell brand, 10 HP laptops, 7 Lenovo Laptops.

But if in the first page there are only 5 dell laptops then it will show DELL-(5).

Suppose there are 3 in second page then it will be grouped to show DELL(2)

the requirement is if grouped by laptop brand then the grouping and total numbers should be shown correctly.

Like DELL (10),HP(10),Lenovo(7). Hope my explanation was clear.


UserImage.jpg
Olga Smolyar

If anyone else is looking for this functionality, there is an example available here: https://www.outsystems.com/forums/discussion/89186/outsystems-data-grid-web-where-is-extend-datagrid-to-expand-collapse-row-detai/#

UserImage.jpg
Olga Smolyar

Hi @Gonçalo Martins , it seems like you have provided an example of exactly the requested functionality at this post:

https://www.outsystems.com/forums/discussion/89186/outsystems-data-grid-web-where-is-extend-datagrid-to-expand-collapse-row-detai/#

However as it's only for OutSystems Web, is there any way to provide a similar example for a Reactive app?  Or, alternatively, to provide guidelines as to how the existing ExpandableTableRow available on Forge for default tables can be adapted for use with OutSystems data grid?  Thank you in advance for any guidance.

2022-11-12 11-28-30
Gonçalo Martins
Staff

Hi @Olga Smolyar 

You can try to follow this example from Wijmo Flexgrid and extend it using JavaScript APIs since this is not a use case offered out of the box or planned for the Data Grid.
Hope it helps.

Cheers,
GM

2022-11-12 11-28-30
Gonçalo Martins
Staff
Solution

Hello @Olga Smolyar 

I was able to create a sample where you can use this functionality with the HTML version (you can pick this as a starting point).

To do so, please follow these steps:

  • you need to import the script file wijmo.grid.detail since it is not part of the OutSystems Data Grid component and add it as a required script to the screens where you want to implement this functionality
    • Note: you need to use the same versions of the scripts from the OutSystems Data Grid component that at this time (current version 2.13.0) uses version Wijmo Library 5.20231.908-RC (2023)
       
  • In the Grid OnInitialize event, add a JavaScript node with the following script:
  • For demo purposes also added a CSS class to showcase a way to customize it in the future
  • It will look like this:

Important to note that overriding the internal method _getRowMetadataByRowNumber is not a good practice but in this case is the only way to allow this functionality to work as a workaround since this is not offered as a functionality, so is fully the developer's responsibility to maintain this code and it was not tested on all possible use cases.

Hope it helps.

Cheers,
GM

DataGrid_RowDetails.oml
UserImage.jpg
Olga Smolyar

@Gonçalo Martins thank you so much!  Appreciate the additional effort to create the example.

One question, when I open your .oml and Manage Dependencies, it shows OutSystems Data Grid 2.10.1 being used, same as in my application, and the row detail functionality works.  

I used the same Wijmo.grid.detail script that is in your .oml (not sure how to import the corresponding version otherwise), and the '+' column appears, but clicking it does not expand rows.  I set the Scripts.Wijmo.grid.detail script as a required script on the page and added the same .js to GridOnInitialize (editing the field values).

Do you know what may be missing?

Thank you in advance for any guidance.


UserImage.jpg
Olga Smolyar

Adding backend and web .oml files for the above question

SafetyRetrospectiveQCApp_web.oml
SafetyRetrospectiveQCApplication_SC.oml
2022-11-12 11-28-30
Gonçalo Martins
Staff

Hi @Olga Smolyar 

There are a lot of missing references. Could you please isolate the screen where you're getting the issue? And on the oml I've shared does it work for you? I'm asking this since your oml has more custom Javascript.

Cheers,
GM

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.