排序组合框与绑定源.排序,这里有什么问题?

本文关键字:排序 什么 问题 这里 组合 绑定 | 更新日期: 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,而不是绑定到它的数据源。在您的代码中,bsAddressesdrpBox2都绑定到searchedAddr,因此根本不使用排序的BindingSource。固定代码:

BindingSource bsAddresses = new BindingSource();
bsAddresses.DataSource = searchedAddr;
bsAddresses.Sort = "timesUsed ASC";
drpBox2.DataSource = bsAddresses;
drpBox2.DisplayMember = "address";

这里可能有两个问题

  • 所需的Column是区分大小写的,所以应该提供它在适当的情况下(默认升序)
  • 也为底层列表得到排序它必须实现IBindingList(如果不支持,则SupportsSorting属性为假,表示源不支持排序)
读到这里的