绑定数据视图多列排序与查找组合框c#
本文关键字:查找 组合 排序 数据 视图 绑定 | 更新日期: 2023-09-27 17:50:35
我在绑定到数据表的datagridview上实现多列排序。datagridview对其中一列使用组合框,其中display成员是来自另一个表的字符串,Value成员是提供外键的整数。在单独的数据视图中,我可以通过iccompare和FormattedValue属性使用RowComparer轻松排序。然而,主datagridview是绑定的,不允许我使用那个接口。因此,我尝试使用如下所示的排序字符串对底层数据进行排序,但这可以对查找字段排序,而不是对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;
}
}
也许LINQ会给你更好的访问权限
DataTable dt = new DataTable();
var result = dt.AsEnumerable()
.OrderBy(row => row.Field<decimal>("ColumnNameA"))
.OrderByDescending(row => row.Field<decimal>("ColumnNameB"));