2017-10-08 1 views
0

Ich möchte meine Listbox mit Combobox, die Combobox wird A-Z und Z-A enthalten, so wie kann ich es tun und lassen Sie es arbeiten?Sortierung Listbox mit ComboboxC#

einige meiner Code für die Listbox, lst_OrderName ist die, die ich sortieren möchte.

private void AllorderBySearch() 
     { 



      using (connection = new SqlConnection(connectionString)) 
      using (SqlDataAdapter adapter = new SqlDataAdapter("select* from Tbl_order WHERE CustomerNo = '" + txt_CustomerNo.Text + "' And OrderName LIKE '%" + txt_OrderNo.Text + "%' AND OrderName LIKE '%" + txt_OrderNo.Text + "%' AND OrderName LIKE '%" + txt_OrderNo.Text + "%' AND Date between '" + dateTimePicker1.Text + " 00:00:00.000' AND '" + dateTimePicker1.Text + " 23:59:59.999'; ", connection)) 
      { 


       DataTable Tbl_order = new DataTable(); 
       connection.Open(); //opens the connection 
       adapter.Fill(Tbl_order); 
       connection.Close(); //Closes the connection 

       lst_CustomerNo.DataSource = Tbl_order; //assigns a datasource 
       lst_CustomerNo.DisplayMember = "CustomerNo"; //assigns display 
       lst_CustomerNo.ValueMember = "CustomerNo"; 

       lst_OrderName.DataSource = Tbl_order; 
       lst_OrderName.DisplayMember = "OrderName"; 
       lst_OrderName.ValueMember = "OrderName"; 

       lst_Quantity.DataSource = Tbl_order; 
       lst_Quantity.DisplayMember = "Quantity"; 
       lst_Quantity.ValueMember = "Quantity"; 

       lst_Price.DataSource = Tbl_order; 
       lst_Price.DisplayMember = "Price"; 
       lst_Price.ValueMember = "Price"; 

       lst_datetime.DataSource = Tbl_order; 
       lst_datetime.DisplayMember = "Date"; 
       lst_datetime.ValueMember = "Date"; 

      } 
     } 

Ich habe Combobox aber ich darin noch nicht alles tun cuse ich weiß nicht, wie es will ich durch die Art und Weise zu machen. Könntest du mir bitte helfen?

+0

Ihre Antwort ist in Link [Sortieren Combobox] (https://stackoverflow.com/questions/17080830/c-sharp-is-it-possible-to-arange-combobox-items-from-a- to-z) – user3568937

+0

danke aber was ich sortieren möchte ist die Listbox ^^, das ist nicht die Antwort!? –

Antwort

0

müssen Sie ein temporäres Objekt für die Sortierung wie Blase verwenden Art

0

Wie Sie eine Datentabelle als Datenquelle verwenden, sollten folgende Arbeiten:

private void cmbSort_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DataTable dt = lst_CustomerNo.DataSource as DataTable; 
    if(cmbSort.SelectedItem == "A-Z") 
     dt.DefaultView.Sort = "OrderName ASC"; 
    else 
     dt.DefaultView.Sort = "OrderName DESC"; 
} 

das obige Ereignis auf Ihre Combobox Attach SelectedIndexChanged Aktion ..

+0

hi, 'dt.sort' Sortierung hier hat einen Fehler, und wie zu tun 'if (<überprüfen Sie Ihre cmbSort Auswahl>)' wenn die erste Auswahl A-Z. –

+0

Bitte überprüfen Sie mein Update. Sie werden eine Idee bekommen ... Sorry über den Fehler früher .... :(.. –