2013-11-06 5 views
0

может кто-нибудь проверить, что случилось, со следующим кодом?Попытка изменить порядок сортировки в listview

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) 
     { 
      if (listView1.ListViewItemSorter = SortOrder.Ascending) 
      { 
       listView1.ListViewItemSorter = SortOrder.Descending; 
      } 
      else 
      { 
       listView1.ListViewItemSorter = SortOrder.Ascending; 
      } 
     } 

Спасибо, ребята :)

+0

Вы должны маркировать на каком языке вы используете ... – Ergin

+0

К сожалению забыл, я использую C# –

ответ

0

Проблема заключается в том что вы делаете одиночные равно (=) знак, который используется для назначения вещи, а не для проверки равенства. Попробуйте вместо этого:

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) 
    { 
     if (listView1.ListViewItemSorter == SortOrder.Ascending) 
     { 
      listView1.ListViewItemSorter = SortOrder.Descending; 
     } 
     else 
     { 
      listView1.ListViewItemSorter = SortOrder.Ascending; 
     } 
    } 

Обратите внимание на двойные (==) на if заявление

+0

== оператора 'не может применяться к операндам типа «System.Collections.IComparer» и «System.Windows.Forms.SortOrder» Невозможно неявно преобразовать тип «System.Windows.Forms.SortOrder» в «System.Collections.IComparer» Невозможно неявно конвертировать тип 'System.Windows.Forms.SortOrder' в 'System.Collections.IComparer' –

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