I am looking into ways to improve performance of our ultragrid when it comes to handling large databases (several 100k to a few million entries). I have seen that using load on demand helps immensely to reduce the time to display the data.
The problem now is that we also need a way to sort and filter the data. Since using that functionality in the ultragrid itself would load all data I figured with some work I could probably do it in the database directly. Is there a way to keep the ui for sorting and filtering but prevent the grid from actually doing it?
I.e when I try to set the SortIndicator of a column it automatically sorts the grid. All I'd need is to know when the user clicked the header and a way to "fake" the sorting by setting the Indicator... Or is there a better way?
Hi,
This can be done for sorting by setting the HeaderClickAction on the Override to one of the options that include the word "External". The grid will show the UI, but it's left to you to do the sorting.
There is no such option for Filtering, though. So you would have to create your own filtering UI to do this.
I recommend that you Submit a feature request to Infragistics for external filtering support.
Thank you.
Setting the HeaderClickAction to an "External" option works.
Now as for the filtering. Can you provide any pointers where I could start? Is it possible to do something like this for the ultraGrid?
Other options I see would be some kind of popup when the header cell is right clicked or adding an entirely new filter UI outside the grid. Any recommendations?
David_Schachtler said:Is there a way to block the click on the header to propagate once I determined that it occurred on the ImageUIElement?
What I would do is turn off sorting. You could set HeaderClickAction to Select and then turn off ColumnSelection so that clicking a column header does nothing.
Then you can handle the MouseDown event of the grid and determine which element was clicked. If it's your ImageUIElement, you show your filter UI. If not, and it's in the HeaderUIElement for the column, you can manually toggle the SortIndicator on the column header.
David_Schachtler said:As a sidenote: Is there a way to be informed about decisions/progress concerning my feature request?
No, unfortunately, we don't have any system in place to notify you about feature requests.
Hello!
I'm using Version 11.1 . Is in this version possible to disable grid filtering maintaining the UI as for sorting? In other words, has feature requested by David been implemented?
I'm trying to paginate, using UltraDataSource object, taking inspiration from the "one million rows" example. I think pagination is not only a web stuff. Suppose to work in a client server environment and suppose client and server are physically far each to the next. Less data you push on the cable, better are performance and when data are in order of hundreds of thousands or worst millions, pagination will do the magic.
Thanks Gianni
As a sidenote: the "one million rows" example has a bug: start the application, then choose a column, for example "Hexadecimal", then write a number, for example 5, in the correspondent filter row column. It will filter rows that start with "5". Now with the mouse move the scroll bar in the average middle of the vertical space... It will flick and after a while (2-3 second) the grid will positionate on the first row again.
GiannisKhan said:I'm using Version 11.1 . Is in this version possible to disable grid filtering maintaining the UI as for sorting? In other words, has feature requested by David been implemented?
No, this has not been implemented at this time.
GiannisKhan said:As a sidenote: the "one million rows" example has a bug: start the application, then choose a column, for example "Hexadecimal", then write a number, for example 5, in the correspondent filter row column. It will filter rows that start with "5". Now with the mouse move the scroll bar in the average middle of the vertical space... It will flick and after a while (2-3 second) the grid will positionate on the first row again.
Which sample are you referring to? There is a Virtual Mode sample under UltraDataSource and a Virtual Mode sample in the WinGrid samples explorer, but neither of these samples displays the FilterRow in the grid.
Hi Mike,
Im useing Version 13.2. Is Filtering or Sorting feature available on ultragrid load on demand ?
Are there any sample where filtereing and/or sorting is done on SQL Server side by using ultragrid load on demand feature?
BR,
Adem
We have External Filtering and it is explained via: http://help.infragistics.com/doc/WinForms/2013.2/CLR4.0/?page=WinGrid_Enabling_External_Filtering.html and it includes a sample in the help doc. I cannot recall any samples that demonstrate filtering/sorting through sql instead of the grid but this help doc gets you to the point where you would call off to your data layer to perform the action and return the results. You can also check out the External Filtering sample in the WinGrid Samples Explorer.
Sorting has been discussed previously in this thread and you just need to follow those guidelines to implement external sorting.