2017-10-08 41 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

请检查我的更新。你会得到一个想法... 对不起,前面的错误.... :(.. –

相关问题