2017-10-08 14 views
0

コンボボックスを使用してリストボックスを並べ替える場合は、 コンボボックスにはA-ZとZ-Aが含まれますので、どうすれば動作させることができますか?コンボボックスを使用してリストボックスを並べ替える方法#

リストボックス用のコードの一部は、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"; 

      } 
     } 

私はコンボボックスを作成しましたが、私は私が好きな方法でそれを作る方法を知らない必ず使う私はまだそれで何もしませんでした。あなたは私を助けることができるPLZ?

+0

あなたの回答はリンクにあります[Sort Combobox](https://stackoverflow.com/questions/17080830/c-sharp-is-it-possible-to-arrange-combobox-items-from-a- to-z) – user3568937

+0

ありがとう、しかし、私は並べ替えるのはリストボックスです^^、これは答えではありません! –

答えて

0

あなたがデータソースとしてのDataTableを使用しているとして、次のように動作するはず泡のようソート

0

をソートするために一時オブジェクトを使用する必要があります。

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'のソートにはエラーがあります。そして、もしあなたが一番最初に選択したものがA-Zだったら 'if(<あなたのcmbSortの選択>をチェックする)'をする方法があります。 –

+0

私の更新を確認してください。あなたは考えを得るでしょう... 前のエラーに申し訳ありません.... :(.. –

関連する問題