1

アイテムが含まれる 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 とは異なります。スクロールバーを拡張グリッドに表示する方法を知っている人はいますか? これが必要な理由は、展開されたグリッドには数百のアイテムが含まれる可能性があり、グリッドが大きい場合はグリッドの構築に数秒かかるためです。行の仮想化とスクロール バーを使用すると、はるかに高速になると考えています。

4

2 に答える 2

0

行の詳細機能を使用して問題を解決しました。行の詳細には、子アイテムを含む別のグリッドがあります。このオプションのパフォーマンスは非常に高速です。

于 2011-08-01T12:29:18.650 に答える
0

これを試しましたか:

<telerik:RadGrid ..>
     .....

   <ClientSettings EnableRowHoverStyle="True">
        <Scrolling AllowScroll="True" EnableVirtualScrollPaging="True" SaveScrollPosition="True">
        </Scrolling>
    </ClientSettings>

</telerik:RadGrid>
于 2011-07-29T15:17:17.340 に答える