Hi,
I've been struggling with feeding xamDataGrid with large amount of fields. Eventually I traced down to this method, Infragistics.Windows.DataPresenter.Internal.TemplateDataRecordCache.InitializeCellInfo().
According to VS2010 performance profiler, this method contains a very expensive operation,
cells.Sort(Utilities.CreateComparer(placeholderComparison));
There are some comment upon this section which I don't really understand.
Could anyone please help to see whether it is possible to prevent hitting this section by using the control in a certain way?
What we're looking for is loading a datagrid with 20000 fields in 5 secs. It's over 20 secs now and this method is on the hot path.
Please help, thanks.
Hi Steve,
I just gave a try with the Silverlight grid as you mentioned it already has column virtualization built-in. Is there any setting I need to change to make this feature work? I tried to populate a table with 25000 rows and 25000 unbound columns, after waiting almost 10 minutes, the browser is still not responsive. Please advise, thanks.
Hello,
It is still under review by development so I do not have an exact time scale of when this enhancement is implemented. I will keep an eye on the case, and you can too by keeping track of your support cases . The case number is CAS-55585-L4GDDD and the bug number is 60418.
Thanks a lot Steve.
Do you have a best guess at this moment when it's going to be available? This issue is kind of blocking our development. We're quite concerned whether this possible fix can fall into our product release cycle.
Yes, you would be losing the virtualization capability that comes out of the box. Howerver, you would be breaking up the data into smaller chunks so I don't think it would be that bad.
I have submitted Bug 60418 for this issue. Hopefully we can get the XamDataGrid performance with many fields to an acceptable level for you.
Please correct me if I've mistaken, if I put XamDataGrid into a scrollviewer, it will lose all those virtualization capability that comes out-of-box, right?
The datasource I'm using is something like a 2-D collection. In fact, if a special type of datasource can make it easier to resolve this issue, we're open to adopt it. Thanks!