Hi,
OVERVIEW:
I have a GroupingGridControl that has conditionally displayed child tables implemented using a custom GridGroupingEngine that implements IGridRowHeight. The display of the child tables are determined based on a dropdown selection made in the parent row.
PROBLEM DESCRIPTION:
Unexpected behavior occurs when I create a new row at the parent level (that is supposed to have hidden child tables) and save to the database. After I save the DataSet, all child tables of the parent display regardless if their height setting. This only occurs if the parent row is expanded when saving. If I collapse and reexpand the parent node, the child tables are then painted as expected.
REPRODUCE:
Using the example project I have attached, use the following steps to reproduce this error:
1) Start the application and add a new Widget row and give it a "Widget Type" or "Toy Widget".
2) Expand the "Toy Widget" row that you just added. The "Toy Widget" should only show the "WidgetPartsList" table below. Only "Industrial Widget" should show the "WidgetMaintenanceLog" table.
3) Click on the "Save" button. This should cause the "WidgetMaintenanceLog" table to unexpectedly appear under the new Widget.
4) Collapse then re-expand the newly added Widget row. Now only the WidgetPartsList should show up under the new Widget row.
Please let me know if any clarification is needed beyond the comments within the project.
Thanks,
Scott
SaveExpandGroupingGridExample.zip