私はWPFプロジェクトを持っています - 4つの列を持つDataGrid:ColumnOne、ColumnTwo、columnThree、ColumnFour。ユーザーがColumnOneまたはColumnTwoで並べ替えると、コードビハインドでもColumnThreeによる並べ替えが追加されるので、SortBy( "ColumnOne")、ThenBy( "ColumnThree")のようにソートされます。それが問題ならば、私のDataGridのItemsSourceはSortDescriptorsをサポートするPagedCollectionViewです。DataGridは別の列の並べ替えを追加します
0
A
答えて
1
あなたはこの単純な例のようにDataGrid.OnSortingをオーバーライドする(ただし、あなたフル要件ににそれを拡張してください)とあなたのXAMLではなく標準DataGrid
のカスタムコントロールを使用する必要があります。
public class MyDataGrid : DataGrid
{
protected override void OnSorting(DataGridSortingEventArgs eventArgs)
{
base.OnSorting(eventArgs);
var test = eventArgs.Column;
if (test.Header.ToString() == "ColumnOne" && test.SortDirection.HasValue
&& test.SortDirection.Value.Equals(ListSortDirection.Ascending)
)
{
ICollectionView view = CollectionViewSource.GetDefaultView(this.ItemsSource);
view.SortDescriptions.Add(new SortDescription("ColumnThree", ListSortDirection.Ascending));
view.Refresh();
this.Columns[2].SortDirection = ListSortDirection.Ascending;
}
}
}
上記のコードは、ソートcolletionだけある場合にColumnThree
ためSortDirection
プロパティ設定の両方を処理する:ときColumnOne
上昇によるユーザの注文。
関連する問題
- 1. DataGrid列を並べ替える方法
- 2. WPF DataGrid:行の並べ替え?
- 3. WPF DataGridヘッダーファイルサイズの並べ替え
- 4. 最初のDataGrid並べ替え
- 5. 価格で並べ替えを追加し、名前で並べ替え
- 6. Laravel Datatables追加フィールドの並べ替え
- 7. ルートカテゴリ別にカテゴリの並べ替えを並べ替え
- 8. Googleビジュアライゼーションテーブルの列にカスタム並べ替えを追加する
- 9. ActionScriptでのDataGridの列の並べ替え
- 10. WPF Datagridの列がnullの要素を持つ列に並べ替えます。
- 11. WPFのDataGridの列幅と並べ替え
- 12. スパークの列の移動/並べ替えDataGrid(Adobe Flex)
- 13. Pandas DataFrameはカテゴリ別の列で並べ替えますが、特定のクラスの並べ替えで並べ替えます
- 14. C++の選択並べ替えなし並べ替え並べ替えなし
- 15. 列の並べ替えの矢印並べ替え
- 16. 並べ替え列
- 17. 未定義列の並べ替え/並べ替え(LINQ \ Entity Framework)
- 18. 列の並べ替えと並べ替え
- 19. DataGridの並べ替えが機能しません
- 20. 安定した並べ替えを使用してDataGridを並べ替える方法は?
- 21. Angular2またはNodeJs:別の配列に基づくJSON要素の並べ替え/並べ替え
- 22. ワードプレス並べ替えポストカテゴリ別
- 23. 配列の並べ替え
- 24. ブートストラップ - 並べ替えの列
- 25. jqGrid列の並べ替え
- 26. 列名の並べ替え
- 27. ブートストラップ列の並べ替え
- 28. 配列の別の配列の値を並べ替える
- 29. 並べ替えられたキーを持つ別の配列で配列を並べ替える
- 30. RubyでTSortを使用して配列の並べ替えと並べ替え