У меня есть таблица просмотра списка. Всякий раз, когда я пытаюсь удалить элемент из таблицы просмотра списка, порядок списка становится случайным, но затем, когда я добавляю элемент в список, список сортируется. Всякий раз, когда список удаляется, я хочу, чтобы остальные элементы были отсортированы по идентификатору студента. Я пробовал и до сих пор не повезло.Запись списка в случайном порядке, когда она удаляется из списка
StudentOrder.xaml
<CollectionViewSource
Source="{Binding StudentRecords}">
<CollectionViewSource.SortDescriptions>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
StudentOrder.xaml.cs
void StudentOrder_Loaded(object sender, RoutedEventArgs e)
{
if (Shows.OrderCurrent == null)
{
Show.OrderPresent = StudentID;
Show.DataOrder = "StudentID";
Show.Order();
}
else
{
if (orderLst != null)
{
Show.Order();
}
}
}
ShowOrders.cs
public override bool Delete()
{
recordRetriever.StudentOrderRetriever.Delete(_record);
Record = null;
Refresh();
return true;
}
private ObservableCollection<ShowOrder> RandomListSort()
{
IEnumerable<ShowOrder> arrangeditems = StudentRecords;
if (Orderreplaced)
{
switch (DataOrder)
{
default:
arrangeditems = StudentRecords.OrderBy(s => s.GetType().GetProperty(DataOrder).GetValue(s, null)).ToList();
break;
}
}
Orderreplaced = false;
return new ObservableCollection<RandomListSort>(arrangeditems);
}
public override void Refresh()
{
Refresh();
StudentRecords = RandomListSort();
}
В чем вопрос? –
Почему вы вызываете 'Refresh()' внутри 'Refresh()'? А также, что такое 'Show', связано ли это с ShowOrders? Если да, у вас есть сортировка записей учеников в «RandomListSort» – Prisoner