2013-06-13 6 views
7

Mam bardzo niechlujne długie przedmioty pełne smyczków na comboboxie i byłoby miło posortować je od a do z, aby ułatwić śledzenie. Czy to możliwe?C# - czy można rozmieszczać elementy ComboBox od a do z?

+2

Czy używasz obiektu (jak tablica lub 'List ') jako '.DataSource' dla combobox, czy osobiście zapełniasz' .Items'? – Dai

+0

sprawdź ten. http://stackoverflow.com/questions/188141/c-sharp-list-orderby-alphicalical-order – Narendra

+0

Tak, źródłem samego ComboBox jest tablica ciągów znaków –

Odpowiedz

21

Istnieją dwa proste sposoby, że mogę myśleć:

  • Jeśli używasz Win Forms, wystarczy użyć ComboBox.Sorted = true;

  • Jeśli dane w polu kombi pochodzi w formie listy, po prostu użyj OrderBy do danych, które zamierzasz wstawić do swojej bazy danych.

przykład:

 List<string> a = new List<string>() 
     { 
      "q", 
      "w", 
      "e", 
      "r", 
      "t", 
      "y", 
      "u", 
      "i", 
      "o", 
      "p", 
      "a", 
      "s", 
      "d", 
      "f", 
      "g", 
      "h", 
      "j", 
      "k", 
      "l", 
      "z", 
      "x", 
      "c", 
      "v", 
      "b", 
      "n", 
      "m", 
     }; 

     comboBox1.Items.AddRange(a.OrderBy(c => c).ToArray()); 
0

okazuje mogę odpowiedzieć na moje własne pytanie, w systemie Windows 8 aplikacji C#, ComboBox ma sort() właściwości, które po prostu o każdy rzeczy od a do z. Dzięki.

Powiązane problemy