2016-11-05 5 views
0

Я использую C# метод адаптера, добавить элементы в список, и после этого я называю этот список, чтобы заполнить ListBox, вот моя кнопка для этого:Сортировать C# ListBox Элементы

private void button1_Click(object sender, EventArgs e) { 
    listCustomers.Items.Clear(); 
    List <Customer> customers = CustomerList.GetCustomers(); 
    List <CustomerSaldo> customersSaldo = CustomerListSaldo.GetCustomers(); 
    int total = 0; 
    int totalCustomer = 0; 
    foreach(Customer customer in customers) 
    total++; 

    listCustomers.Items.Clear(); 

    totalCustomer = total; 
    int x = totalCustomer; 

    foreach(CustomerSaldo customer2 in customersSaldo) { 
    if (x >= 1) { 
     listCustomers.Items.Add("Costumer ID # " + x + " is: " + customer2.Saldo); 
     x--; 

    } 
    } 

} 

Result

Это то, что я получаю, это нормально, но я хочу знать, существует ли способ сделать это как в этом примере:

Costumer # 1 Saldo ...
Costumer # 2 Saldo ...
Costumer # 3 Saldo ...

Если вы видите мой код у меня есть переменная x, эта переменная является общее количество костюмеров, так что я думаю, что мой род должен начать с этой переменной, но я не знаю точно, как это сделать, что я могу сделать?

+0

Использование OrderBy .... –

+0

@viveknuna OrderBy? Sql? Я не использую SQL, только C# Lists –

+0

'OrderBy', серьезно? Он делает декремент, и вы предлагаете OrderBy? Wao – Tinwor

ответ

1

Реверс список и начать отсчет до тех пор пока вы дойдете до конца:

//Reverse the list 
customersSaldo.Reverse(); 
//Add new items 
for(int i = 0; i < customers.Count; i++) 
    listCustomers.Items.Add(string.Format("Costumer ID # {0} is: {1}", (i+1).ToString(), customersSaldo[i].Saldo); 
+0

Прекрасно работает! благодаря –