我有一个Telerik:RadGridView中有项目,其中一些是可扩展的。通过根据行中对象的类型设置IsExpandable标志,可以在RowLoaded事件中完成使行可扩展的决定。这很有效。
为了处理行扩展,我有一个处理DataLoading事件的方法。它看起来像这样:
void AssignedNumbersGrid_DataLoading(object sender, GridViewDataLoadingEventArgs e)
{
GridViewDataControl dataControl = (GridViewDataControl)sender;
if (dataControl.ParentRow != null)
{
dataControl.ShowGroupPanel = false;
dataControl.AutoGenerateColumns = false;
dataControl.CanUserFreezeColumns = false;
dataControl.IsReadOnly = true;
dataControl.SelectionMode = System.Windows.Controls.SelectionMode.Extended;
dataControl.IsFilteringAllowed = false;
dataControl.ShowInsertRow = false;
dataControl.RowIndicatorVisibility = Visibility.Collapsed;
dataControl.ChildTableDefinitions.Clear();
dataControl.Margin = new Thickness(0, 0, 0, 0);
dataControl.EnableRowVirtualization = true;
dataControl.MaxHeight = 100;
ScrollViewer.SetVerticalScrollBarVisibility(dataControl, ScrollBarVisibility.Auto);
dataControl.Columns.Add(BuildSelectColumn());
dataControl.Columns.Add(BuildNewColumn("Range Number", "DisplayAssociatedInfo"));
dataControl.Columns.Add(BuildTypeColumn());
dataControl.Columns.Add(BuildRemarkColumn());
dataControl.Columns.Add(BuildNewColumn("Status", "DisplayStatus"));
}
}
我添加了代码来设置最大高度和附加的滚动查看器但滚动条没有显示。 dataControl对象的类型为GridViewDataControl,与RadGridView不同。有谁知道如何在扩展网格上显示滚动条?我需要这个的原因是扩展网格可能包含几百个项目,如果它很大,它需要几秒钟来构建网格。我想通过行虚拟化和滚动条,它会更快。
答案 0 :(得分:0)
你试过这个:
<telerik:RadGrid ..>
.....
<ClientSettings EnableRowHoverStyle="True">
<Scrolling AllowScroll="True" EnableVirtualScrollPaging="True" SaveScrollPosition="True">
</Scrolling>
</ClientSettings>
</telerik:RadGrid>
答案 1 :(得分:0)
我通过使用行详细信息功能解决了这个问题。行详细信息具有包含子项的另一个网格。此选项的性能非常快。