or
Hello,
I would like to bind the gridview control, on a VB.Net form, to an Oracle 11g database that has millions of records.
Can anybody tell what would be the performance in this case? Does grid a have 'pagination' or a buffering feature that would allow a fast load/scrolling?
I have a Windows utility called Oracle SQL Developer (from ORACLE Corp.) that does a similar job, i.e. can be used to browse a table that has millions of records and it works super fast.
Does Telerik grid have a similar performance? I didn't install it yet because I would research for a different product in case the performance is slow.
Regards,
M. R. - Toronto
| GridViewTemplate oppSubGrid = new GridViewTemplate(); |
| // .. other code goes here to setup columns, etc. |
| gridDupes.MasterGridViewTemplate.ChildGridViewTemplates.Add(oppSubGrid); |
| GridViewRelation relation = new GridViewRelation(gridDupes.MasterGridViewTemplate); |
| relation.ChildTemplate = oppSubGrid; |
| relation.RelationName = "ContactsOpportunities"; |
| relation.ParentColumnNames.Add("ID"); |
| relation.ChildColumnNames.Add("ContactID"); |
| gridDupes.Relations.Add(relation); |
| private void PopulatePanelBar() |
| { |
| RadPanelBarGroupElement ItemsGroupElement; |
| foreach (BEItems.ItemRow gcr in ItemsDataSet.Item.Rows) |
| { |
| ItemsGroupElement = new RadPanelBarGroupElement(); |
| ItemsRadPanelBar.Items.Add(ItemsGroupElement); |
| ItemsGroupElement.Caption = gcr.Item_nm; |
| ItemsGroupElement.Tag = gcr.Item_id; |
| ItemsGroupElement.MouseDown += new MouseEventHandler(ItemsGroupElement_MouseDown); |
| } |
| foreach (RadPanelBarGroupElement element in this.ItemsRadPanelBar.Items) |
| { |
| RadPanelBarVisualElement visualElement = element.GetCaptionElement(); |
| element.EnableHostControlMode = true; |
| visualElement.AutoToolTip = true; |
| ItemUserControl ItemUserControl = new ItemUserControl(); |
| element.ContentPanel.Controls.Add(ItemUserControl); |
| ItemUserControl.ItemHeaderRow = (BEItems.Item_headerRow[])ItemsDataSet.Item_header.Select("Item_id = " + (int)element.Tag); |
| ItemUserControl.ItemValueRow = (BEItems.Item_valueRow[])ItemsDataSet.Item_value.Select("Item_id = " + (int)element.Tag); |
| } |
| } |
| void ItemsGroupElement_MouseDown(object sender, MouseEventArgs e) |
| { |
| if (e.Button == MouseButtons.Right) |
| { |
| ContextMenu myMenu = new ContextMenu(); |
| if (sender != null) |
| { |
| RadPanelBarGroupElement element = (RadPanelBarGroupElement)sender; |
| element.ContentPanel.ContextMenu = myMenu; |
| MenuItem AddItemRadMenuItem = new MenuItem(); |
| MenuItem UpdateItemRadMenuItem = new MenuItem(); |
| MenuItem InactivateItemRadMenuItem = new MenuItem(); |
| MenuItem ExpandPanelBarRadMenuItem = new MenuItem(); |
| MenuItem CollapsePanelBarRadMenuItem = new MenuItem(); |
| AddItemRadMenuItem.Click += new EventHandler(AddItemRadMenuItem_Click); |
| UpdateItemRadMenuItem.Click += new EventHandler(UpdateRadMenuItem_Click); |
| InactivateItemRadMenuItem.Click += new EventHandler(InactivateItemRadMenuItem_Click); |
| ExpandPanelBarRadMenuItem.Click += new EventHandler(ExpandPanelBarRadMenuItem_Click); |
| CollapsePanelBarRadMenuItem.Click += new EventHandler(CollapsePanelBarRadMenuItem_Click); |
| myMenu.MenuItems.Add(AddItemRadMenuItem); |
| myMenu.MenuItems.Add(UpdateItemRadMenuItem); |
| myMenu.MenuItems.Add(InactivateItemRadMenuItem); |
| myMenu.MenuItems.Add(ExpandPanelBarRadMenuItem); |
| myMenu.MenuItems.Add(CollapsePanelBarRadMenuItem); |
| } |
| } |
| } |