We have an application showing a selected SQL query from a repository. Since we allow the end user to operate in Server mode, and have common functionality, we programmatically create a dbtable or servermode view and rename it, to allow common functionality regardless of the class of view.. We do specify the class when changing class-specific properties
(ViewTable as TcxGridServerModeTableView).DataController.Summary.options := [soNullIgnore, soMultipleSelectedRecords];
(ViewTable as TcxGridDBTableView).DataController.Summary.options := [soNullIgnore, soMultipleSelectedRecords];
All columns are created and customized using the class identifier eg
(ViewTable as TcxGridDBTableView).DataController.CreateAllItems;
We have turned on filter operators and defaulted string or widestring columns to contains eg:
ColumntoCustomize.Options.FilterRowOperator := foContains;
The operator selection shows up ok, but unfortunately Contains, begins with, ends with and like functionality does not work, filtering out all records instead. The Find panel DOES work, but we can't save it for future use by the end user. Filter operators do work as expected in our launch area, where the end user's view is fixed and the columns are created at design time.
So looks like we are missing a property which is not a default value that we need to change at runtime when we customize the created columns. I have tried a few options unsuccessfully. And looks like it might apply to the view or the column or both. Can you suggest an approach?
I am not sure that we will be able to support case insensitivity settings for Server Mode views in the near future. The point is that in this mode data records are filtered at the server level, but not at the level of our DataController. We do not have much control over it. Moreover, different servers may work differently with case insensitivity and may require different syntax.