我有一个包含一些记录的数据表并具有过滤条件,即
datatable.select("ColumnName like '090%' or ColumnName like '070%' or ColumnName like '080%'").
现在我希望数据表结果像排列条件序列这样的数据意味着第一条记录应该与'090%'然后'070%'和'080%'相关。
任何人都可以帮助我吗?
答案 0 :(得分:1)
Select()
返回DataRow
个数组。您应该能够使用LINQ对它们进行排序......
// using System.Linq;
var selectedRows = datatable.Select("ColumnName like '090%' or ColumnName like '080%' or ColumnName like '070%'");
var sortedSelectedRows = selectedRows.OrderByDescending(r => r["ColumnName"].ToString()).ToArray();
---更新---
如果您想按照无法使用OrderBy排序的特定订单执行此操作,我不确定是否有一种简单的方法。也许尝试这样的事情......
// using System.Linq;
var group1 = datatable.Select("ColumnName like '090%');
var group2 = datatable.Select("ColumnName like '070%');
var group3 = datatable.Select("ColumnName like '080%');
var selectedRows = group1.Concat(group2).Concat(group3).ToArray();
如果原始DataTable中有很多行,我不会这样做。表现非常糟糕。