Hi,
When i bind 3000 records in RadGrid (only one column) GridViewComboBoxColumn
i got terrible performance.
I need to do this from code behind.
to reproduce problem make WPF in Browser application, and add this page
Then make two classes:
in constructor of "Page1" fill test data:
Add column:
is it possible to turn on virtualization in GridViewComboBoxColumn ?
When i bind 3000 records in RadGrid (only one column) GridViewComboBoxColumn
i got terrible performance.
I need to do this from code behind.
to reproduce problem make WPF in Browser application, and add this page
<Page x:Class="Bug_Demo_ComboBoxColumn_Scroll.Page1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:telerikGrid="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300" Title="Page1"> <Grid> <telerik:RadGridView Name="dgDynGrid" AutoGenerateColumns="False" EnableColumnVirtualization="True" EnableRowVirtualization="True" ShowGroupPanel="False" IsFilteringAllowed="False" DataLoadMode="Asynchronous" CanUserInsertRows="True" CanUserResizeColumns="False" CanUserFreezeColumns="False" RowIndicatorVisibility="Collapsed" /> </Grid> </Page>
Then make two classes:
public class Persons { public int Id { get; set; } public string Name { get; set; } public string PlaceId { get; set; } }
public class Place { public int PlaceId { get; set; } public string PlaceName { get; set; } }
in constructor of "Page1" fill test data:
List<Place> places = new List<Place>(); for (int i = 0; i < 3000; i++) { Place p = new Place(); p.PlaceId = i; p.PlaceName = "PlaceWithID" + i.ToString(); places.Add(p); } List<Persons> persons = new List<Persons>(); for (int i = 0; i < 3000; i++) { Persons p = new Persons(); p.Id = i; p.PlaceId = i.ToString(); persons.Add(p); }
Add column:
Telerik.Windows.Controls.GridViewComboBoxColumn column = new Telerik.Windows.Controls.GridViewComboBoxColumn(); column.DataMemberBinding = new Binding("PlaceId"); column.DisplayMemberPath = "PlaceName"; column.SelectedValueMemberPath = "PlaceId"; column.ItemsSource = places; dgDynGrid.Columns.Add(column); dgDynGrid.ItemsSource = persons;
is it possible to turn on virtualization in GridViewComboBoxColumn ?