2016-10-31 2 views
-1

У меня есть таблица просмотра списка. Всякий раз, когда я пытаюсь удалить элемент из таблицы просмотра списка, порядок списка становится случайным, но затем, когда я добавляю элемент в список, список сортируется. Всякий раз, когда список удаляется, я хочу, чтобы остальные элементы были отсортированы по идентификатору студента. Я пробовал и до сих пор не повезло.Запись списка в случайном порядке, когда она удаляется из списка

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(); 
} 
+0

В чем вопрос? –

+0

Почему вы вызываете 'Refresh()' внутри 'Refresh()'? А также, что такое 'Show', связано ли это с ShowOrders? Если да, у вас есть сортировка записей учеников в «RandomListSort» – Prisoner

ответ

0

Там нет собственности установить для сортировки описание. Если вы этого не делаете, программно лучше установите его в XAML, как показано ниже.

<CollectionViewSource 
     Source="{Binding StudentRecords}"> 
<CollectionViewSource.SortDescriptions> 
     <scm:SortDescription PropertyName="your Propery from bound source" /> 
    </CollectionViewSource.SortDescriptions> 
</CollectionViewSource> 

Для дополнительной документации смотрите ниже ссылку.

https://msdn.microsoft.com/en-us/library/ms742542(v=vs.110).aspx

+0

Пробовал это. Все еще не работает. – user6574269

+0

Удалил ли вы любой другой код сортировки, который вы пробовали самостоятельно. Если не удалите его и попробуйте. – Naidu

+0

Да, я попробовал все, и он не работал, поэтому пришел сюда, чтобы спросить. – user6574269

Смежные вопросы