defect
(User-visible)
If node B is displayed below node A in a tree table, and node A has an attribute "x" with a value of "y" while node B does not have that attribute, then "No value (1)" is displayed in the filter.
B should not be included in the filter.
Cause
TreeNodeUnwrappingProvider wraps the CellExistenceTester of the default column, causing it to be copied to all columns. This overrides the generic behavior that would set the WrapperValueExistenceTester.
Solution
If no CellExistenceTester is set in the default column, it has AllCellsExist, which does not need to be wrapped.
Test
- In the TL demo, under Structures > Type Demo, create an object chain B0 -> A1 -> B1 -> A2.
- In A2, set "boolean" to "true".
- Select B0
- Switch to Structures > Type Demo > Tree Table
- Select the "boolean" column
- Open the filter for "boolean".
- Expected result: "Yes (1)" (from A2) and "No (0)" (from A1) are displayed.