2012-02-17 28 views
0

コード内に列を作成し、行領域に3つ、列領域に残り、行領域にあるすべての列を名前でグループ化します。グループ化/並べ替えは不要です。私はストアドプロシージャでそれをソートし、グループ化します。ASPxPivotGridカスタム並べ替え/並べ替えを削除する

自動グループ化/並べ替えを無効にする方法はありますか?

ありがとうございました

答えて

1
ただし、独自のカスタムソートアルゴリズムとあなたは、現在の行の位置に基づいてe.Resultパラメータを調整するべき CustomSortingイベントを使用して適用することができます

参照:Can I disable sort?

ソートを無効にすることはできません。 PivotGridControlはデータ を同じ値でグループ化して集計を計算します。この操作では、データを並べ替えるために が必要です。また、Pivo​​tGridControl の各行または列は、データソース内の複数のレコードに関連付けられている可能性があります。他の ワードでは、行と列を一意に識別する方法がありません。 はPivotGridControl内にあります。

この場合、ASPxPivotGrid.CustomFieldSortイベントを処理することによって手動でデータを並べ替える必要があります。このevent.Belowで並べ替えとグループ化のあなたの計算を行い、私は並べ替え無効にする方法を示す、コードスニペットを掲載している:

private void pivotGridControl1_CustomFieldSort(object sender, PivotGridCustomFieldSortEventArgs e) 
{ 
    e.Result = e.ListSourceRowIndex1.CompareTo(e.ListSourceRowIndex2); 
    e.Handled = true; 
} 

参考:
Disable sorting feature by row/column
How to disable sorting and filtering features
SortOrder changed event handler
Regarding Grid Default Alphabetic Sorting

PivotGridCommands.ClearSorting Property

AspxPivotGrid Sortingセクションで計算のヘルプを確認してください。

ASPxPivotGridのPivotGridOptionsCustomization.AllowSortオプションです。
フィールド値のソート順序は、フィールドのプロパティで指定します。

1

データが並べ替えられないようにする方法はありません。基本的に、ASPxPivotGridは相互計算を実行するためのものです。結果を正しく計算するには、結果を計算するために使用されるフィールドでデータをグループ化する必要があります。データをグループ化するには、対応する行をソートする必要があります。例えば、基本的なリストは、以下のデータが含まれているとします

Row1: Caption1; Value1 
Row2: Caption2; Value2 
Row3: Caption2; Value3 
Row4: Caption1; Value4 

それはキャプションに基づいて行を構築する必要がある場合には、ピボットがそれらを並べ替える必要があり、そうでない場合は曖昧が最初に表示されるべきキャプションの上にありますので、全部の。

上記のサンプルからわかるように、並べ替えを完全に無効にすることはできません。また、次の資料をご覧ください

using DevExpress.XtraPivotGrid; 
//... 
void pivotGridControl1_CustomFieldSort(object sender, PivotGridCustomFieldSortEventArgs e) { 
    e.Result = Math.Sign(e.ListSourceRowIndex2 - e.ListSourceRowIndex1); 
    e.Handled = true; 
} 

Data Sorting

関連する問題