2017-10-08 70 views
0

我想使用組合框對我的列表框進行排序, 組合框將包含A-Z和Z-A,那麼我該怎麼做,讓它工作?如何使用comboboxC對列表框進行排序#

一些我的代碼爲列表框,lst_OrderName是我想要排序的一個。

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"; 

      } 
     } 

我創建組合框,但動原因我不知道如何我想辦法讓它我沒有做任何事情還沒有。你能幫我嗎?

+0

你的答案在鏈接[Sort Combobox](https://stackoverflow.com/questions/17080830/c-sharp-is-it-possible-to-arrange-combobox-items-from-a-至-z) – user3568937

+0

謝謝,但我想排序是列表框^^,這不是答案!? –

回答

0

你必須使用一個臨時對象進行排序像冒泡排序

0

當你使用一個DataTable作爲數據源,下面應該工作:

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"; 
} 

連接上述事件的組合框的SelectedIndexChanged行動..

+0

嗨,'dt.sort'排序這裏有一個錯誤,以及如果(如果(檢查您的cmbSort選擇>)如果拳頭選擇A-Z如何做。 –

+0

請檢查我的更新。你會得到一個想法... 對不起,前面的錯誤.... :(.. –

相關問題