使用查找组合框 c# 绑定 Datagridview 多列排序
Posted
技术标签:
【中文标题】使用查找组合框 c# 绑定 Datagridview 多列排序【英文标题】:Bound Datagridview Multiple Column Sort with Lookup ComboBox c# 【发布时间】:2014-03-17 15:47:28 【问题描述】:我正在对绑定到数据表的 datagridview 实现多列排序。 datagridview 对其中显示成员是来自另一个表的字符串和 Value 成员是提供外键的整数的列之一使用组合框。在单独的 datagridview 中,我可以通过 ICompare 和 FormattedValue 属性使用 RowComparer 轻松排序。但是,主数据网格视图已绑定,不会让我使用该接口。因此,我尝试使用如下排序字符串对基础数据进行排序,如下所示,但这可以对查找字段进行排序,而不是对 ID 字段进行排序。有什么想法吗?
在表格上:
private void customSortToolStripMenuItem_Click(object sender, EventArgs e)
string sortString = "SectionID ASC, Shift DESC"; //I want the name not ID
if (sortString != "")
DataView view = localDataSet.myBaseTable.DefaultView;
view.Sort = sortString;
tableBindingSource.DataSource = view;
【问题讨论】:
【参考方案1】:也许 LINQ 可以让您更好地访问这里
DataTable dt = new DataTable();
var result = dt.AsEnumerable()
.OrderBy(row => row.Field<decimal>("ColumnNameA"))
.OrderByDescending(row => row.Field<decimal>("ColumnNameB"));
我希望这会有所帮助。
【讨论】:
以上是关于使用查找组合框 c# 绑定 Datagridview 多列排序的主要内容,如果未能解决你的问题,请参考以下文章