We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

Paging Hierarchical Data

Hello,

I have been using Syncfusion Controls for a while now and they have done everything I needed. Now I am tasked with a new adventure. I am working with a hierarchical dataset (Sort of a master-detail view) and there can be a lot of data. I have been through the forums and kb's but I have not seen what I am looking for.

I want to be able to page through the hierarchical grid like the base grid example. The application may have 100k plus rows and unless you have a lot memory on your machine, it will throw an out of memory exception. If I load all the data upfront on a machine that can handle it, the performance is severely degraded. I will not be grouping these records (Never)so I really dont need the GG(Grouping Grid). I I might be able to use the DBG(Databound Grid) but I dont see the same ability on the DBG or even the GG. Any help or thoughts?

Here is one for the Syncfusion development team. I will be building this in WPF later so I have to ask if it will do this in the WPF grid when it is released.

In a nutshell, I need a pageable/hierarchical grid.

Thanks
DVD


5 Replies

RA Rajagopal Syncfusion Team January 23, 2008 12:04 AM UTC

Hi DVD,

Thanks for your patience.

We recommend you to use GridGroupingControl for binding to hierarchical datasources with good level of performance. You can disable the grouping support in it if you dont want. To achieve paging in GridGroupingControl, you need to handle QueryRecordMeetsFilterCriteria event which will be fired for all records just before displayed in the grid. In addition you need to maintain a hashtable that contains the position/index of the record. Then in QueryRecordMeetsFilterCriteria event handler you can check the position of that record whether it is belong to the first page(say, if position lies between 0 and 10) or in the second page(11 - 20) and set the e.Result based on that. If you set the e.Result to true, grid will display that record, else if you set it to false grid will not display that record.

Please refer to the following KnowledgeBase article. It demonstrate how to allow or restrict any record from displaying.
http://www.syncfusion.com/support/kb/grid/Default.aspx?ToDo=view&questId=245

If you are using the virtual GridControl check the following sample which demonstrates the paging in virtual grid.

In QueryCellInfo, it checks for the data availability and loads the data as you scroll over. At the beginning of QueryCellInfo, there is a call to a DataSource method that ensures the requested row is available. Depending on it, the DataSource loads a 200-count range of records with the requested record in the middle. In this sample, loading new data creates a new 200 row datatable using code.

http://www.syncfusion.com/Support/user/uploads/Virtual_Paging_9fc74e34.zip

Let me know if this helps.

Regards,
Rajagopal



DD Dave Daniels January 24, 2008 02:17 PM UTC

Thank you for the response.

I have seen the samples and what I need to do is paging as shown in the Virtual Paging but with hierarchical data. I will have 300k+ rows of hierarchical data but I want to emulate the actions of the standard grid. Any sorting or filtering will be performed via stored procedure. I will have a list of IDs and I will call to get the segment I need and will then display the data.

I don't want to just hide the data, I wont even load it until I need it. I will know how many total rows I will have up front.

Thanks,
DVD



DD Dave Daniels February 1, 2008 03:51 PM UTC

So at this point I am guessing the virtual paging cannot be achieved with the virtual paging.



DD Dave Daniels February 1, 2008 03:54 PM UTC

Sorry I meant to say the virtual paging cannot be achieved with the hierarchical data. I am assuming this due to no response.





JS Jeba S Syncfusion Team February 7, 2008 04:34 AM UTC

Hi DVD,

Sorry for the delay in response and the inconvenience caused.

Yes. Virtual paging cannot be achieved with the hierarchical data. Our GridGroupingControl supports virtual mode. But it does support sorting and filtering in virtual mode.

Kindly let us know if you need any further assistance.

Best regards,
Jeba.




Loader.
Live Chat Icon For mobile
Up arrow icon