我正在實施WPF數據網格中的分組。我想對分組項目進行排序。 例如,datagrid有四列(empno,name,dept,address)。我正在按部門專欄進行分組。 當我點擊部門的列標題我想排序分組的項目。WPF Datagrid組和排序
在這裏,我使用ListCollectionView將代碼中的項目分組在後面。
public ListCollectionView collection;
collection = new ListCollectionView(obj.empData);
collection.GroupDescriptions.Add(new PropertyGroupDescription("Country"));
dgData.Items.SortDescriptions.Add
(new System.ComponentModel.SortDescription
("Country"
,System.ComponentModel.ListSortDirection.Descending
)
);
dgData.Items.SortDescriptions.Add
(new System.ComponentModel.SortDescription
("Contact"
, System.ComponentModel.ListSortDirection.Descending
)
);
dgData.ItemsSource = collection;
private void dgData_Sorting
(object sender, Microsoft.Windows.Controls.DataGridSortingEventArgs e)
{
if (e.Column.SortDirection.ToString() == "Ascending")
{
//dgData.Items.SortDescriptions.Clear();
collection.Refresh();
collection = new ListCollectionView(obj.empData);
collection.GroupDescriptions.Add(new PropertyGroupDescription("Country"));
dgData.Items.SortDescriptions.Add
(new System.ComponentModel.SortDescription
("Country"
, System.ComponentModel.ListSortDirection.Descending
)
);
dgData.ItemsSource = collection;
}
}
更改排序順序後,它不反映在UI中。請讓我知道實現這一點的正確方法。
感謝sooooo有價值的鏈接 – Chubsdad