我对此进行了一些研究,似乎对数据绑定组合框进行排序的唯一方法是对数据源本身进行排序(在本例中为DataSet中的DataTable).
如果是这种情况那么问题就变成了对DataTable进行排序的最佳方法是什么?
组合框绑定在设计器初始化时使用设置
myCombo.DataSource = this.typedDataSet; myCombo.DataMember = "Table1"; myCombo.DisplayMember = "ColumnB"; myCombo.ValueMember = "ColumnA";
我试过设置
this.typedDataSet.Table1.DefaultView.Sort = "ColumnB DESC";但这没有区别,我已经尝试在控件构造函数中,在typedDataSet.Merge调用之前和之后设置它.
如果您使用的是DataTable,则可以使用(DataTable.DefaultView)DataView.Sort属性.为了获得更大的灵活性,您可以使用BindingSource组件.BindingSource将是组合框的DataSource.然后,您可以将数据源从DataTable更改为List,而无需更改组合框的DataSource.
BindingSource组件有很多用途.首先,它通过在Windows窗体控件和数据源之间提供货币管理,更改通知和其他服务,简化了表单上对数据的绑定控制.