排序组合框与绑定源.排序,这里有什么问题?
本文关键字:排序 什么 问题 这里 组合 绑定 | 更新日期: 2023-09-27 18:03:01
不能让下面的代码正确排序组合框(drpBox2)
BindingSource bsAddresses = new BindingSource();
bsAddresses.DataSource = searchedAddr;
bsAddresses.Sort = "timesUsed ASC";
drpBox2.DataSource = bsAddresses.DataSource;
drpBox2.DisplayMember = "address";
我怎样才能使它工作?
代码中有一个简单的错误,当使用BindingSource时,您必须将控件直接绑定到BS,而不是绑定到它的数据源。在您的代码中,bsAddresses
和drpBox2
都绑定到searchedAddr
,因此根本不使用排序的BindingSource。固定代码:
BindingSource bsAddresses = new BindingSource();
bsAddresses.DataSource = searchedAddr;
bsAddresses.Sort = "timesUsed ASC";
drpBox2.DataSource = bsAddresses;
drpBox2.DisplayMember = "address";
这里可能有两个问题
- 所需的Column是区分大小写的,所以应该提供它在适当的情况下(默认升序)
- 也为底层列表得到排序它必须实现
IBindingList
(如果不支持,则SupportsSorting
属性为假,表示源不支持排序)