This is a general question about how the xamDataGrid is to be used in an enterprise application.
We are building an application with a very thin client application, and all of its data is retrieved from a set of WCF services. Of the areas where we may use data grids, several have potentially millions of rows that would have to be returned from the service and displayed in the grid. Obviously this is not practical from a performance standpoint, so the grid/data source would need to virtualize its data and only retrieve a few "pages" of data at a time. However, this has ramifications on the grid's ability to filter and sort since it would not have access to the entirety of the data at any given time.
What recommendations do the developers or users of XamDataGrid have in this scenario?
Thanks for reading! Any feedback would be appreciated.
Hello,
Leaving the XamDataGrid aside, filtering and sorting of millions of records has to be performed on the system where the whole data is available. Since you will bind only a small set of data to the XamDataGrid, you cannot do this in the XamDataGrid.
You will probably have to make the WCF Service retrieve only the filtered data (or again small set of the filtered data). But again, the filtering will be performed on the system that has access to the full data.
Hope this helps.
I assumed that this would be the case. Our service does support filtering, but how do I make those calls from within the grid? Does XamDataGrid provide hooks so that I can translate what is in the Grid's filtering user interface into our service call? Are there any examples of how this would work?
Well,
I suppose you can use the Filtering feature of the XamDataGrid as if you had all of the data.
You can handle RecordFilterChanged/RecordFilterChanging events and cancel or handle them accordingly. In these events you will have access to the Filter (conditions, logical operators, etc) and pass that information to your WCF Service.
The same is for sorting (Sorted/Sorting events).
No one that could provide help on this? Or could someone from infragistic team take a look at this?
Hi
I have a search box and a data grid with filter fields enabled. The grid's datacontext is bound to the item property of the view model and this property get's renewed each time the search box is used. The data is collected using virtualization technique (http://bea.stollnitz.com/blog/?p=411) which works fine. Each time the user scrolls the grid up or down a data request is triggered and fetched.
I'm trying to implement the same procedure for the filter fields where i just renew the item property each time a field gets changed (RecordFilterChanged). But this doesn't work properly. The data request gets triggered many times till all data are fetched and also the grid doesn't show any data at all.