Posted 14 January 2019, 12:01 pm EST
The scenario we need doesn’t seem to be possible, but it also seems relatively standard. Basically, we’d like to have a list of status flags that are allowed and not. The existing design has two problems - it only displays values that are found in the collection already, but we need it to be “all possible values”. This part can be gotten around by extending the ColumnFilterEditorclass, and doing some surprisingly non-trivial workarounds in the AddValueCheckBox method. So far so good. You can even load them into the filter via the XML load function.
But as soon as a user unchecks one of the selected flags, the “selected by not present” flags will disappear. The class checks the selections against its internal dictionary, and the value filter only gets the flags that exist in the collection, not all of them. And there is no way to get at the list of selected/unselected items from the editor closing method, so we can’t even store them for next time or refresh the filter with the XML containing additional values. Thus next time the filter is opened, flags that are not found are unselected, and since the filter is now active, new items with those flags will be filtered out.
Any tips?