DataGrid - Как создать динамику сортировки колонны, чтобы удовлетворить привязку изменения данных?
-
27-09-2019 - |
Вопрос
Я использую DataGrid в проекте VS2010 WPF C #. Я связал DataGrid для наблюдательного элемента. Когда вы нажимаете на столбцу, заголовок, он сортирует данные в этот момент во времени.
Вопрос - как бы я организую так, что сортировка в DataGrid является динамическим, так что при изменении данных (в рамках наблюдательного элемента) сортировка продолжает работать.
Примечания: Привязка подход осуществляется через DataGrid
private ObservableCollection<SummaryItem> _summaryData = new ObservableCollection<SummaryItem>();
SummaryDataGrid.ItemsSource = _summaryData;
SummaryDataGrid.AutoGeneratingColumn += (s, e) =>
{
//if (e.Column.Header.ToString() == "ProcessName")
// e.Column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
e.Column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
};
public class SummaryItem : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _processName;
public string ProcessName
{
get { return _processName; }
set
{
_processName = value;
NotifyPropertyChanged("ProcessName");
}
}
private long _total;
public long Total
{
get { return _total; }
set
{
_total = value;
NotifyPropertyChanged("Total");
}
}
private long _average;
public long Average
{
get { return _average; }
set
{
_average = value;
NotifyPropertyChanged("Average");
}
}
private void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs((propertyName)));
}
}
public static SummaryItem ObservableCollectionSearch(ObservableCollection<SummaryItem> oc, string procName)
{
foreach (var summaryItem in oc)
{
if (summaryItem.ProcessName == procName) return summaryItem;
}
return null;
}
}
Решение
Вы можете использовать CollectionViewsource в коде позади, а также в XAML, источник которого является элементом вашего DataGrid, то вы можете добавить на него SOTTDECRICE / S к нему. Это будет сохранять данные сортировать все время.
Не связан с StackOverflow