Current filter:
                                You should refresh the page.
                                  • 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

                                    eg

                                    (ViewTable as TcxGridServerModeTableView).DataController.Summary.options :=  [soNullIgnore, soMultipleSelectedRecords];
                                    or
                                    (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?

                                • Jeff Whiteside 01.12.2019

                                  Resolved dbTableView by manually applying properties that work to the programmatically created table view and ensuring that AutoDataSetFilter was false.

                                  Server mode still returns no records using contains etc with the same query that works in dbtable view

                                • Jeff Whiteside 01.12.2019

                                  Server mode DOES work, but it's case sensitive even though caseinsensitive is set.  I note a handful of other reports of this. Is it likely to support being case insesnsitive any time soon?

                                1 Solution

                                Creation Date Importance Sort by

                                Hello Jeff,

                                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.

                                • Jeff Whiteside 01.17.2019

                                  Hi Paulo

                                  Have to live with that one I guess. But further to the above, AutodatasetFilter needs to be true for a pivot sharing the same dataset. In our instance, that is firedac connected to Oracle. We had to set it to false to allow contains, begin with etc to work, as we simply got no records with that kind of filter operator.

                                  Is there a way to use those filter operators AND use pivots with the same dataset?

                                • Paulo (DevExpress Support) 01.18.2019

                                  In fact, it is not necessary to enable the AutoDataSetFilter option to apply a filter expression to the underlying data set. You can handle the view's DataController.Filter.OnChanged event instead, get the DataController.Filter.FilterCaption or DataController.Filter.FilterText property, parse its value as your needs dictate, and manually apply the result to your data set. As a result, this data set will be filtered according to your logic.

                                • Jeff Whiteside 01.20.2019

                                  Problem is now solved. Turns out that the FDQuery component can be switched for case insensitive filtering. Simple but effective.

                                  An issue did arise using   DataController.Filter.FilterText, however, as we use a wildcard of * and single char of ?. This is present in filtertext, and it can't be used for the dataset filter until changed back to % and _ respectively. Not sure if customized characters should be reflected in the FilterText.