SQLデータを表示するWPFのDataGrid

多くの場合、 DataGridは、データをグループ化、並べ替え、およびフィルタリングすることにより、さまざまな方法でデータを表示するのに役立ちます。DataGridでデータをグループ化、並べ替え、およびフィルタリングするには、これらの関数をサポートするCollectionViewにデータをバインドします。その後、基になるデータソースデータに影響を与えることなく、 CollectionViewでデータを処理できます。コレクションビューでの変更は、 DataGridユーザーインターフェイス(UI)に反映されます。

CollectionViewクラスは、 IEnumerableインターフェイスを実装するデータソースのグループ化および並べ替え機能を提供しCollectionViewSourceは、XAMLから設定できるCollectionViewクラスのプロパティを利用します。

この例では、TaskオブジェクトのコレクションがCollectionViewSourceにバインドされています。DataGridのItemsSourceとして使用されるCollectionViewSourceグループ化、並べ替え、フィルタリングはCollectionViewSourceで実行され、 DataGridUIに表示されます

 DataGridでアイテムをグループ化する

1.グループ化するプロパティを指定するPropertyGroupDescriptionを作成します。 プロパティは、XAMLまたはコードで指定できます。

  1. XAMLでは、PropertyName は、グループ化するプロパティの名前に設定されます。
  2. コードで、GroupByプロパティの名前をコンストラクターに渡します。

2.PropertyGroupDescriptionCollectionViewSource.GroupDescriptions コレクションに追加します。

3.コレクションに追加された追加のインスタンスPropertyGroupDescriptionGroupDescriptionsにより、グループ化のレベルがさらに追加されます。

4.グループを削除するには、コレクションGroupDescriptionsからPropertyGroupDescription を削除します。

5.すべてのグループを削除するには、 Clear コレクションメソッドGroupDescriptionsを呼び出します。

 

アイテムがDataGridでグループ化されている場合、 GroupStyle を定義して、各グループの外観を指定できます。GroupStyleは、DataGridのコレクションに追加することで適用されます。複数のレベルのグループ化がある場合は、各グループレベルに異なるスタイルを適用できます。スタイルは、定義された順序で適用されます。たとえば、2つのスタイルを定義すると、最初のスタイルが最上位の行グループに適用されます。2番目のスタイルは、2番目以下のレベルのすべての行グループに適用されます。DataContext GroupStyle CollectionViewGroup グループによって表されます。 

おすすめ

転載: blog.csdn.net/weixin_44591600/article/details/123107050