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

Add many rows per microsecond

4 Answers 83 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Oleg
Top achievements
Rank 1
Oleg asked on 21 Apr 2015, 01:44 PM
Hello! I have a problem in a real-time display consistently huge stream of data (transactions on the Stock Exchange), which is formed in a different thread. Help me with the example so as not to suffer performance visualization. The data comes continuously and in very large quantities.

4 Answers, 1 is accepted

Sort by
0
Maya
Telerik team
answered on 22 Apr 2015, 07:35 AM
Hello Oleg,

You could run through "Real time update" demo of RadGridView. If you do not update the items, bur rather insert new ones, why now working with AddRange method of your source collection. If you work with RadObservableCollection<T> for example, AddRange will suspend all notifications and resume them afterwards, thus improving the performance. 

Regards,
Maya
Telerik
 

See What's Next in App Development. Register for TelerikNEXT.

 
0
Oleg
Top achievements
Rank 1
answered on 22 Apr 2015, 03:30 PM

Hello! Suspend notification best sulution  for realtime. Thanks for the help. My program now worked fast, but operation system slow.
 I builded pipe of the flow of data very wide and fast:)

 

0
Oleg
Top achievements
Rank 1
answered on 23 Apr 2015, 09:37 AM

Hello! I try Telerik, send me help where update item[0]   (public void AddTape(Tick tick))

public class TRDataContext
    {
        ObservableCollection<Tape> source;
        ObservableCollection<Tape> Source
        {
            get
            {
            if (this.source == null)
                {                    
                    source = new ObservableCollection<Tape>(from i in Enumerable.Range(0, 10) select new Tape(new Tick()));
                }
return source;
            }
        }

        QueryableCollectionView data;
        public QueryableCollectionView Data
        {
            get
            {
                if (this.data == null)
                {
                    this.data = new QueryableCollectionView(Source);
                    this.data.SortDescriptors.Add(new SortDescriptor()
                    {
                        Member = "Time",
                        SortDirection = System.ComponentModel.ListSortDirection.Descending
                    });
                }

                return this.data;
            }
        }
        public void AddTape(Tick tick)
        {
            Tape mm = new Tape(tick);
            Source[0] = mm; //this not update visual grid
        }
    }   

0
Maya
Telerik team
answered on 23 Apr 2015, 04:35 PM
Hi Oleg,

You need to update the properties of the item instead and if the business object implements INotifyPropertyChanged interface, the modifications will be reflected right away. 

Regards,
Maya
Telerik
 

See What's Next in App Development. Register for TelerikNEXT.

 
Tags
GridView
Asked by
Oleg
Top achievements
Rank 1
Answers by
Maya
Telerik team
Oleg
Top achievements
Rank 1
Share this question
or