This is a migrated thread and some comments may be shown as answers.

Large quantity of data

5 Answers 86 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Jason
Top achievements
Rank 1
Jason asked on 29 Jul 2010, 12:11 PM
I am evaluating the Telerik Silverlight products for use with a business application.  One of the requirements of this application is that we provide large amounts of data to our users in a heavily customized gridview.  What I mean by large at this point is 100,000 rows with 250 columns but could grow to 1,000,000 rows in the near future.  So far, I have not been very successfull with getting a good user experience in this grid with even 10,000 rows using a ria service to provide the data.  I found a blog posting that showed how to setup some custom scrolling which seemed promising.  The scrolling property does not appear to be available with the version of the GridView that is in the current trial download.  Can someone please suggest the absolute fastest way to serve SQL data to a Silverlight application along with the best configuration of the GridView for a nice user experience with large amounts of data.  Thanks in advance.

5 Answers, 1 is accepted

Sort by
0
Vlad
Telerik team
answered on 29 Jul 2010, 12:41 PM
Hello Jason,

 If you refer to my blog post this actually is attached behavior - not built-in feature. 

Kind regards,
Vlad
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Jason
Top achievements
Rank 1
answered on 29 Jul 2010, 12:53 PM
Thanks for the quick response.  When I add scrolling:CustomScrolling.DomainDataSource to my GridView I get an error: 'scrolling' is an undeclared prefix.  I am using the version of GridView that came with the trial download from 2 days ago  2010.2.714.1040. 
0
Vlad
Telerik team
answered on 29 Jul 2010, 01:00 PM
Hi Jason,

 You need to register the namespace similar to the example project. I've attached latest version of this demo with server-side scrolling of almost 2 mil records. 

All the best,
Vlad
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Jason
Top achievements
Rank 1
answered on 29 Jul 2010, 01:35 PM
Vlad,

Thanks you for the clarification and the code.  This works well.  Just a couple of things.  Although the code builds and runs fine my designer displays this error related to the Scrolling class:

System.NullReferenceException

Object reference not set to an instance of an object.

at Telerik.Windows.Controls.GridView.Scrolling.CustomScrolling.SizeChanged(Object sender, SizeChangedEventArgs e) in C:\Documents and Settings\jamunger\my documents\visual studio 2010\Projects\RadControlsGridDemo\RadControlsGridDemo\CustomScrolling.cs:line 76 at System.Windows.FrameworkElement.OnSizeChanged(Object sender, SizeChangedEventArgs e) at MS.Internal.JoltHelper.RaiseEvent(IntPtr target, UInt32 eventId, IntPtr coreEventArgs, UInt32 eventArgsTypeIndex)

Any thoughts on what might be causing this?

Also, I would like to allow the user to scroll one record at a time by clicking the up or down arrow on the scrollbar without waiting.  Do you think that it would be possible to tweak this code to handle that?

This is looking really close to the solution that we are looking for.

Thanks,

Jason

0
Vlad
Telerik team
answered on 29 Jul 2010, 02:00 PM
Hi Jason,

 Please use this code to fix the design-time error:

private static void OnIsEnabledPropertyChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
        {
            if (DesignerProperties.IsInDesignTool)
                return;

            RadGridView grid = dependencyObject as RadGridView;
            if (grid != null)
            {
                if ((bool)e.NewValue)
                {
                    grid.SizeChanged += SizeChanged;
                }
            }
        }

Unfortunately I'm not sure if MoveToPage() method of the DomainDataSource will do the work in your case - page record be record. 


Best wishes,
Vlad
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Tags
GridView
Asked by
Jason
Top achievements
Rank 1
Answers by
Vlad
Telerik team
Jason
Top achievements
Rank 1
Share this question
or