Hi,
we (our company and I) are using your RadGridView in our application. It works fine with an desktop pc (input by mouse), but if we are using a tablet pc (input by touchscreen) we have some problems with the performance.
Because of these issus we develop a small WPF application with the MS DataGrid and your RadGridView. The DataGrid scroll-performance is perfectly but your RadGridView is stuttering.
Code:
<!-- MS WPF -->
<DataGrid
TextElement.FontSize="15"
Width="1260"
Height="325"
DockPanel.Dock="Top"
AutoGenerateColumns="False"
CanUserAddRows="False"
SelectionMode="Single"
VirtualizingPanel.IsVirtualizing="False"
VirtualizingPanel.VirtualizationMode="Recycling"
VirtualizingPanel.ScrollUnit="Pixel"
ScrollViewer.IsDeferredScrollingEnabled="True"
EnableColumnVirtualization="False"
EnableRowVirtualization="False"
IsReadOnly="True"
ItemsSource="{Binding Path=CachedListe}">
<DataGrid.Columns>
<DataGridTemplateColumn
Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel
Orientation="Horizontal">
<Button
Margin="1"
Command="{Binding Path=Open.Command}"
Content="WPF"></Button>
<telerik:RadButton
Margin="1"
Command="{Binding Path=Open.Command}"
Content="Telerik"></telerik:RadButton>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn
Width="81"
Binding="{Binding Path=Id}"
Header="Nummer"></DataGridTextColumn>
<DataGridTextColumn
Width="150"
Binding="{Binding Path=Bezeichnung}"
Header="Geschäft"></DataGridTextColumn>
<DataGridTextColumn
Width="140"
Binding="{Binding Path=AnsprechpartnerName}"
Header="Ansprechpartner"></DataGridTextColumn>
<DataGridTextColumn
Width="120"
Binding="{Binding Path=Strasse}"
Header="Strasse"></DataGridTextColumn>
<DataGridTextColumn
Width="66"
Binding="{Binding Path=PLZ}"
Header="PLZ"></DataGridTextColumn>
<DataGridTextColumn
Width="140"
Binding="{Binding Path=Ort}"
Header="Ort"></DataGridTextColumn>
<DataGridTextColumn
Width="100"
Binding="{Binding Path=Gebiet.Bezeichnung}"
Header="Gebiet"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<!-- Telerik-->
<telerik:RadGridView
Width="1260"
Height="325"
DockPanel.Dock="Top"
ScrollMode="Deferred"
Visibility="Visible"
telerik:GridViewVirtualizingPanel.IsVirtualizing="False"
IsReadOnly="True"
AutoGenerateColumns="False"
x:Name="StandorteGrid"
RowHeight="25"
GroupRenderMode="Flat"
ItemsSource="{Binding Path=Liste}"
CanUserDeleteRows="False"
CanUserInsertRows="False"
CanUserReorderColumns="False"
CanUserFreezeColumns="False"
EnableColumnVirtualization="False"
EnableRowVirtualization="False">
<!--<telerik:RadGridView.SortDescriptors>
<telerik:SortDescriptor
Member="PLZ"
SortDirection="Ascending">
</telerik:SortDescriptor>
<telerik:SortDescriptor
Member="Strasse"
SortDirection="Ascending">
</telerik:SortDescriptor>
</telerik:RadGridView.SortDescriptors>-->
<telerik:RadGridView.Columns>
<!--<telerik:GridViewDataColumn
Width="80">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<StackPanel
Orientation="Horizontal">
<Button
Margin="1"
Command="{Binding Path=Open.Command}"
Content="WPF"></Button>
</StackPanel>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>-->
<telerik:GridViewDataColumn
x:Name="ColNummer"
Width="81"
DataMemberBinding="{Binding Path=Id}">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Nummer" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColGeschaeft"
DataMemberBinding="{Binding Path=Bezeichnung}"
Width="150"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Geschäft" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColAnsprech"
DataMemberBinding="{Binding Path=AnsprechpartnerName}"
Width="140"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Ansprechpartner" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColStrasse"
DataMemberBinding="{Binding Path=Strasse}"
Width="120"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Strasse" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColPlz"
DataMemberBinding="{Binding Path=PLZ}"
Width="66">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="PLZ" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColOrt"
DataMemberBinding="{Binding Path=Ort}"
Width="140"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Ort" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColGebiet"
DataMemberBinding="{Binding Path=Gebiet.Bezeichnung}"
Width="100"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Gebiet" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColLetzterBesuch"
DataMemberBinding="{Binding Path=Besuch.DatumCheckIn}"
DataFormatString="{}{0:dd.MM.yyyy}"
Width="100">
<telerik:GridViewDataColumn.Header>
<TextBlock>
<Run
Text="letzter" />
<LineBreak />
<Run
Text="Besuch" />
</TextBlock>
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
Now my question, how can we improve our code?
Greatings and thanks in advance
Nils
we (our company and I) are using your RadGridView in our application. It works fine with an desktop pc (input by mouse), but if we are using a tablet pc (input by touchscreen) we have some problems with the performance.
Because of these issus we develop a small WPF application with the MS DataGrid and your RadGridView. The DataGrid scroll-performance is perfectly but your RadGridView is stuttering.
Code:
<!-- MS WPF -->
<DataGrid
TextElement.FontSize="15"
Width="1260"
Height="325"
DockPanel.Dock="Top"
AutoGenerateColumns="False"
CanUserAddRows="False"
SelectionMode="Single"
VirtualizingPanel.IsVirtualizing="False"
VirtualizingPanel.VirtualizationMode="Recycling"
VirtualizingPanel.ScrollUnit="Pixel"
ScrollViewer.IsDeferredScrollingEnabled="True"
EnableColumnVirtualization="False"
EnableRowVirtualization="False"
IsReadOnly="True"
ItemsSource="{Binding Path=CachedListe}">
<DataGrid.Columns>
<DataGridTemplateColumn
Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel
Orientation="Horizontal">
<Button
Margin="1"
Command="{Binding Path=Open.Command}"
Content="WPF"></Button>
<telerik:RadButton
Margin="1"
Command="{Binding Path=Open.Command}"
Content="Telerik"></telerik:RadButton>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn
Width="81"
Binding="{Binding Path=Id}"
Header="Nummer"></DataGridTextColumn>
<DataGridTextColumn
Width="150"
Binding="{Binding Path=Bezeichnung}"
Header="Geschäft"></DataGridTextColumn>
<DataGridTextColumn
Width="140"
Binding="{Binding Path=AnsprechpartnerName}"
Header="Ansprechpartner"></DataGridTextColumn>
<DataGridTextColumn
Width="120"
Binding="{Binding Path=Strasse}"
Header="Strasse"></DataGridTextColumn>
<DataGridTextColumn
Width="66"
Binding="{Binding Path=PLZ}"
Header="PLZ"></DataGridTextColumn>
<DataGridTextColumn
Width="140"
Binding="{Binding Path=Ort}"
Header="Ort"></DataGridTextColumn>
<DataGridTextColumn
Width="100"
Binding="{Binding Path=Gebiet.Bezeichnung}"
Header="Gebiet"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<!-- Telerik-->
<telerik:RadGridView
Width="1260"
Height="325"
DockPanel.Dock="Top"
ScrollMode="Deferred"
Visibility="Visible"
telerik:GridViewVirtualizingPanel.IsVirtualizing="False"
IsReadOnly="True"
AutoGenerateColumns="False"
x:Name="StandorteGrid"
RowHeight="25"
GroupRenderMode="Flat"
ItemsSource="{Binding Path=Liste}"
CanUserDeleteRows="False"
CanUserInsertRows="False"
CanUserReorderColumns="False"
CanUserFreezeColumns="False"
EnableColumnVirtualization="False"
EnableRowVirtualization="False">
<!--<telerik:RadGridView.SortDescriptors>
<telerik:SortDescriptor
Member="PLZ"
SortDirection="Ascending">
</telerik:SortDescriptor>
<telerik:SortDescriptor
Member="Strasse"
SortDirection="Ascending">
</telerik:SortDescriptor>
</telerik:RadGridView.SortDescriptors>-->
<telerik:RadGridView.Columns>
<!--<telerik:GridViewDataColumn
Width="80">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<StackPanel
Orientation="Horizontal">
<Button
Margin="1"
Command="{Binding Path=Open.Command}"
Content="WPF"></Button>
</StackPanel>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>-->
<telerik:GridViewDataColumn
x:Name="ColNummer"
Width="81"
DataMemberBinding="{Binding Path=Id}">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Nummer" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColGeschaeft"
DataMemberBinding="{Binding Path=Bezeichnung}"
Width="150"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Geschäft" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColAnsprech"
DataMemberBinding="{Binding Path=AnsprechpartnerName}"
Width="140"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Ansprechpartner" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColStrasse"
DataMemberBinding="{Binding Path=Strasse}"
Width="120"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Strasse" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColPlz"
DataMemberBinding="{Binding Path=PLZ}"
Width="66">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="PLZ" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColOrt"
DataMemberBinding="{Binding Path=Ort}"
Width="140"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Ort" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColGebiet"
DataMemberBinding="{Binding Path=Gebiet.Bezeichnung}"
Width="100"
TextWrapping="Wrap">
<telerik:GridViewDataColumn.Header>
<TextBlock
Text="Gebiet" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
x:Name="ColLetzterBesuch"
DataMemberBinding="{Binding Path=Besuch.DatumCheckIn}"
DataFormatString="{}{0:dd.MM.yyyy}"
Width="100">
<telerik:GridViewDataColumn.Header>
<TextBlock>
<Run
Text="letzter" />
<LineBreak />
<Run
Text="Besuch" />
</TextBlock>
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
Now my question, how can we improve our code?
Greatings and thanks in advance
Nils