5
我點擊網格標題對列進行排序,然後單擊「重置」按鈕以通過其集合視圖清除排序描述。但排序箭頭圖標仍然保留在標題中。如何刪除它?如何在清除排序描述後刪除wpf網格排序箭頭
我點擊網格標題對列進行排序,然後單擊「重置」按鈕以通過其集合視圖清除排序描述。但排序箭頭圖標仍然保留在標題中。如何刪除它?如何在清除排序描述後刪除wpf網格排序箭頭
簡單的解決辦法我能想到的是
foreach (DataGridColumn column in DataGridView.Columns)
{
column.SortDirection = null;
}
我碰到這個問題就來了,而試圖找出如何從電網完全清除排序。感謝[krishnaaditya]回答如何清除標題中的排序箭頭。
using System.Windows.Data;
using System.ComponentModel;
ICollectionView view = CollectionViewSource.GetDefaultView(resultsGrid.ItemsSource);
if (view != null && view.SortDescriptions.Count>0)
{
view.SortDescriptions.Clear();
foreach (DataGridColumn column in resultsGrid.Columns)
{
column.SortDirection = null;
};
}
這是完整的解決方案。第一個答案只是刪除了排序,而不是標題中的箭頭。 – alexandrudicu 2013-10-22 19:44:04
不幸的是,如果你排序,它使用一個轉換器來顯示漂亮的數據(例如,在一列你有一個枚舉並使用一個轉換器來顯示別的東西)列以上解決方案的工作。在這種情況下,SortDescriptions.Count始終保持爲0.當您嘗試重置排序時,什麼都不會發生。 – alexandrudicu 2015-08-21 15:05:00
這是因爲你在這裏弄亂了源代碼,而不是實際的顯示值。試試DataGrid.Items.SortDescriptions。這就是實際值。將它與DeferRefresh一起使用以獲得最佳性能。 – MarqueIV 2015-12-07 22:45:54