13
Views
14
Comments
Solved
[OutSystems Data Grid] Data Grid Dropdown Child Filtering not working where same Text values are found
data-grid-reactive
Reactive icon
Forge component by Gonçalo Martins
Application Type
Reactive

Hi,

I have 3 dropdowns in my data grid who depend on each other... buildings, floors and rooms. My rules are that I can have duplicate names within these tables, as long as it is not within the same parent.

So, I have buildings: Pink, Blue and Green

Each building have some floors, but they all have a "Ground" floor.

Each floor has different numbered rooms within each building.

My problem is that when I enable edit and add the dropdown columns, set them up correctly using parent bindings, the same room keeps loading no matter which "ground" floor I select on different buildings.

To test whether this might be a bug or something, I changed the names of the ground floors to Ground1, Ground2, and Ground3 respectively, then when I select the building, it's relevant Ground floor is shown, when I select the floor, the correct room is then shown.

Has anyone else come across this issue and solved it?

Solution

Hi @Rudi Louw,

As mentioned by Gonçalo earlier, the issue you are facing is related to the provider and has already been reported to them. Adding the building name as a prefix to the Floors can be a workaround. For instance, you can rename the Pink building floors as "PinkFirst" and "PinkGround".

We've registered this issue on our backlog under the code ROU-4652. 

Regards,

Giuliana.

Hi @Rudi Louw 

Can you please share a sample oml (without specific business logic so you can isolate and share it) where we can reproduce that use case to look at the implementation under the same conditions? Otherwise, it's hard and time-consuming to try to figure it out.

Cheers,
GM

Sure, let me knock one together quickly

Here is an OML that clearly shows the issue.

Thank you 

SampleIssue.oml

Hi, has there been any progress on this issue maybe?

Hi @Rudi Louw 

I'm not able to understand the issue 100%, although I have a feeling that this is related to a known issue that was on the Wijmo Flexgrid library.
Could you kindly describe the tests to be reproduced with some detail and/or a video of the issue being shown? Just to make sure the issue you're having is the same I'm thinking about.

Cheers,
GM

Hi Gonçalo

Please see the video attached.

The problem is pretty basic, when you have 3 dropdowns who depend on each other, the 3rd dropdown filter results are incorrect when the 2nd dropdown loads a value with the same name as other values which are linked to other parents of the 1st dropdown.

Obviously when selecting the 2nd dropdown value, the value you see there is not the same value linked to the 1st dropdown parent, but instead the first value of the same name loaded in the database, which will have worse consequences than my use case illustrated, if I did not have a 3rd dropdown, but instead kept saving values to the database, which will either break my data integrity or keep failing with a constraint error and debugging it will be a nightmare.

Please let me know if you require additional information, the oml in the previous reply also has this same application.

Best Regards

Rudi Louw

DataGrid Issue.mp4

Hi Gonçalo,

Have there been any feedback on this yet?

Best Regards

Rudi

Hi @Rudi Louw 

This seems to be an issue on the underlying library (Wijmo FlexGrid) so at this point there's not much we can do until it's fixed on their end.
When we have some bandwidth, if we end up finding a workaround I'll share it here.

Cheers,
GM

Hi Gonçalo, 

I have implemented a work around in the meantime, by using the row selection and the context menu to bring up a popup to allow for changing these specific values. It's not ideal, but it is working for now.

Did you engage with the developers of the underlying component at least so that it can be fixed? This is ultimately an Outsystems supported component, which is the main reason I'm not using other non-supported grids, specifically for cases like these.

There are a few issues I'm finding on the grid, but before I log other tickets, I am just ensuring that it is in fact issues with the grid and not just my own implementation problems.

Hi @Rudi Louw 

Yes, we always engage with the support of the underlying component but the release cycles and priorities are different as you might understand.
Also, keep in mind that the forum is not a support channel but a community channel.
I'm glad you were able to get unblocked, but anyway, we already have this scenario in the backlog to be properly investigated.

Cheers,
GM


Thank you, yes I fully understand. I normally post here before logging support tickets, but since it is in the backlog already, I'll avoid logging support tickets as well.

@Rudi Louw makes total sense.

That's why we usually try to always do a first triage here in order to avoid formalisms and speed up possible solutions whenever we can :)

Solution

Hi @Rudi Louw,

As mentioned by Gonçalo earlier, the issue you are facing is related to the provider and has already been reported to them. Adding the building name as a prefix to the Floors can be a workaround. For instance, you can rename the Pink building floors as "PinkFirst" and "PinkGround".

We've registered this issue on our backlog under the code ROU-4652. 

Regards,

Giuliana.

Thank you Giuliana,

I fully understand and already implemented a different work-around. 

Your proposed work-around of prefixing the Building to the Floor is a method we actually implemented at the start and our end user testing came back to not include that anymore. If there was a way to have a binding, but then a "display" value making use of a formula, then we could have displayed the floor name without the building prefix in the grid at least.

We also have a 6 level hierarchy that can have duplicate values between parents, but those names are longer, so it will make the column in the grid un-usable.

We are ok with our work-around for now, but hopefully the developers of the underlying component can implement a fix somewhere in the near future.

Best Regards

Rudi

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