反转下拉列表的默认顺序
本文关键字:默认 顺序 下拉列表 | 更新日期: 2023-09-27 18:18:09
是否有一种简单的方法来反转下拉列表的默认顺序?
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;
}
可以在绑定数据源之前颠倒数据源的顺序。
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;
}
根据数据源集合的确切类型和。net版本,它可能不像上面的例子那么简单,上面的例子假设数据源实现了IEnumerable<T>
,并且可以直接使用Reverse()
扩展方法[MSDN]。
如果您只有IEnumerable
(非通用版本),例如,您仍然可以使用Cast<T>()
[MSDN]:
collection.Cast<YourType>().Reverse();
或者您的集合类可能有自己的Reverse()
实现,如List<T>
[MSDN]或Array
[MSDN]
正如其他朋友建议的那样,最好按降序获取数据,然后简单地将其绑定到您可能希望的任何控件。下面是一个存储过程加上一个LINQ查询,它提供了您需要的数据:
Linq查询:
var queru = new DatabaseContext().Cities.OrderByDescending(s => s.CityID).ToList();
和SP:
SELECT * FROM Roles
ORDER BY RoleID DESC
希望有帮助,
你可以在把你的数据源放到你的下拉列表中之前,让你使用的数据反向。
使用.Reverse。