When visualizing tabular data that can be drilled down to more specific records (which is a scenario this data view component is meant to address with its expandable rows feature), it is commonplace that the drilldown table (the table shown as the result of expanding a row) contains at least a subset of the parent table's columns or vice versa.
For example, a financial summary table with columns Continent, Month, Year, Total Income might be the result of summing up more detailed records, say, by individual store sales. Drilling down (expaning a row) a line of this financial summary could reveal an intermediate summary by country with columns Country, Month, Year, Total Income. This intermediate summary, in turn, could be drilled down further.
Proposal
It is a nice visual aid for users reading the data if the columns that are common between the "master" table and the "child" table were aligned. Furthermore, alignment should remain intact even if the user:
Pinned a column in the master or child table
Resized a column in the master or child table
Hid a column in the master or child table
Furthermore, a single master table should be able to synchronize any number of child tables.
Requirements
Generally speaking, the number of columns can differ between master and children.
The children are not required to be equal among them: A child table's columns may differ from all the other children.
Pinning, hiding or resizing a synchronized column in the master or any of the children triggers the same change in all other tables with a corresponding column.
Gaps in the layout that arise from the presence of columns that are not part of the synchronization will be filled with filler (blank) columns.
Child tables, upon synchronization, may advertise a horizontal offset (positive or negative) for calculation corrections due to potential padding that child tables might receive.
Column mapping is done, by default, by comparing column key values, but the API should allow custom mapping.
The mapped columns must not be in disarray related to its master table: Generally speaking, if the unmapped colums from the master and child tables were to be removed, the order of the columns that remain (the mapped columns) must be the same.
Motivation
When visualizing tabular data that can be drilled down to more specific records (which is a scenario this data view component is meant to address with its expandable rows feature), it is commonplace that the drilldown table (the table shown as the result of expanding a row) contains at least a subset of the parent table's columns or vice versa.
For example, a financial summary table with columns Continent, Month, Year, Total Income might be the result of summing up more detailed records, say, by individual store sales. Drilling down (expaning a row) a line of this financial summary could reveal an intermediate summary by country with columns Country, Month, Year, Total Income. This intermediate summary, in turn, could be drilled down further.
Proposal
It is a nice visual aid for users reading the data if the columns that are common between the "master" table and the "child" table were aligned. Furthermore, alignment should remain intact even if the user:
Furthermore, a single master table should be able to synchronize any number of child tables.
Requirements