Ahoy hoy,
I've inherited a form that has two grids on it. The top grid are the headers to custom AP headers. When a header is added/selected, the second grid then uses ranges to filter down the charges (MarkupTrans) that match to the header. All of this works great.
But, I've received a request to add the ability to update a field on all of the filtered charge records. Basically a mark all feature instead of clicking on each charge. This is where things go off the rails and I don't know why.
My repro steps are to create a new header. I then head to the charges grid and filter them based on a field in the grid. So, at this point, I have ranges filtering the grid that are driven by the selection in the parent and a user filter. The displayed results in the grid looks perfect. But, when I iterate in x++ through the data source backing the grid, it does not respect the user filter. It only respects what was set on the range. It's like the user filter is only affecting the display and that's it.
If I create a new header, select a different header, then select the header I created again, add the user filter to the charges, and iterate again, I get the expected results. It's like this is only happening on a new AP header and not on existing ones.
This is almost like there's something not saving or refreshing along the way and I'm soooooo confused. I've tried to force data source writes, using the standard select all lines with selection helper, and using the data source's queryrun.query all with the same results. It will always respect the range, but never any user filters on the grid. The executeQuery on the MarkupTrans_DS looks like it's just setting the range values so I don't know if there's something funky going on there.
Has anyone seen this before? Is there anything else I should be searching for to help me figure out this issue? Any ideas?
*This post is locked for comments