如何使用comboboxC对列表框进行排序#
问题描述:
我想使用组合框对我的列表框进行排序, 组合框将包含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";
}
}
我创建组合框,但动原因我不知道如何我想办法让它我没有做任何事情还没有。你能帮我吗?
答
你必须使用一个临时对象进行排序像冒泡排序
答
当你使用一个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
请检查我的更新。你会得到一个想法... 对不起,前面的错误.... :(.. –
你的答案在链接[Sort Combobox](https://stackoverflow.com/questions/17080830/c-sharp-is-it-possible-to-arrange-combobox-items-from-a-至-z) – user3568937
谢谢,但我想排序是列表框^^,这不是答案!? –