2013-06-13 35 views
7

Tôi có một mặt hàng rất lộn xộn dài đầy các chuỗi trong combobox, và nó sẽ là đáng yêu để chỉ cần sắp xếp nó từ a đến z để làm cho nó dễ dàng hơn để theo dõi. Có thể không?C# - có thể sắp xếp các mục ComboBox từ a đến z không?

+2

Bạn đang sử dụng một đối tượng (như một mảng hoặc 'Danh sách ') làm một '.DataSource' cho hộp tổ hợp, hoặc bạn tự điền vào' .Items' theo cách thủ công? – Dai

+0

kiểm tra điều này. http://stackoverflow.com/questions/188141/c-sharp-list-orderby-alphabetical-order – Narendra

+0

có nguồn gốc của ComboBox chính nó là một mảng các chuỗi –

Trả lời

21

Có hai cách dễ dàng mà tôi có thể nghĩ:

  • Nếu bạn đang sử dụng Win Forms, chỉ cần sử dụng ComboBox.Sorted = true;

  • Nếu dữ liệu trong hộp combo của bạn xuất phát từ trong một hình thức của danh sách, chỉ cần sử dụng OrderBy vào số List dữ liệu bạn sẽ đặt trong số ComboBoxtrước khi đặt nó.

dụ:

 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

Hóa ra tôi có thể trả lời câu hỏi của riêng tôi, trong Windows 8 ứng dụng C#, ComboBox có Sắp xếp tài sản() mà chỉ đơn giản sẽ sắp xếp tất cả các mặt hàng từ a đến z. Cảm ơn.

Các vấn đề liên quan