有没有一种简单的方法来反转下拉列表的默认顺序?
if (_group.Category == GroupCategory.Workers ||
_group.Category == GroupCategory.Acct)
{
this.cboList.DataSource = null;
this.cboList.DisplayMember = "DescForMCE";
this.cboList.ValueMember = "ID";
this.cboList.DataSource = _ch.Accounts;
this.cboList.Visible = true;
this.lblList.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)
您可以在绑定之前反转数据源的顺序.
if (_group.Category == GroupCategory.Workers ||
_group.Category == GroupCategory.Acct)
{
this.cboList.DataSource = null;
this.cboList.DisplayMember = "DescForMCE";
this.cboList.ValueMember = "ID";
this.cboList.DataSource = _ch.Accounts.Reverse();
this.cboList.Visible = true;
this.lblList.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)
根据数据源集合的确切类型和.NET版本,它可能不像上面的示例那么简单,它假定数据源实现IEnumerable<T>并且可以直接使用Reverse()扩展方法[MSDN].
例如,如果您只有IEnumerable(非通用版本),您仍然可以使用Cast<T>()[MSDN]完成两次调用:
collection.Cast<YourType>().Reverse();
Run Code Online (Sandbox Code Playgroud)
或者您的集合类可能有自己的实现Reverse(),如List<T>[MSDN]或Array[MSDN]