Replied 16 August 2018, 6:13 am EST
Thank you for showing interest in using ComponentOne.
For your requirement: lazy loading, there are few things I would suggest you:
1. Use C1DataSource
mode along with C1DataGrid. You can refer our product sample installed at location\Documents\ComponentOne Samples\WPF\C1.WPF.DataSource\CS\TutorialsWPF-C1DataGrid
2. Use C1DataGird in hierarchical way [nested grid] to get TreeView like output. And for lazy loading, check whether the master row's DetailsVisibility
property returns true/false. If it is false, then that row is not in current view and hence, we can avoid loading its children.
Note: You can use this in conjunction with row's DetailsPresenter
- If master row's DetailsPresenter is null, then that row has never been loaded/came in view.
- If master row's DetailsPresenter is not null but its DetailsVisibility is Collapsed, then we can prevent its children from loading.
- If master row's DetailsPresenter is not null and its DetailsVisibility is Visible, then only load the children for this master row.
Also in addition to above, C1DataGrid offers a property by the name ScrollMode
. Setting this property to Deferred, the page would scroll once the user releases the scrollbar. This should help you in improving your application's performance.
Let me know, if you need any help further.