Datatable.Select排序表达式中的Length函数

时间:2014-10-30 16:32:02

标签: asp.net datatable

我尝试按如下方式对DataTable中的选定行进行排序。

dt.Select("ImageUrl LIKE '%" + FilePath + "%'", "LEN(ImageUrl) DESC, ImageUrl DESC");

但它会抛出一个错误,说列LEN(ImageUrl)无效。有谁能建议如何实现这个目标?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以将linq用于此

     IEnumerable<DataRow> drarray;
    drarray = dt.Select().Where(ex =>   
    ex.ItemArray[0].ToString().Contains(FilePath)).OrderByDescending(ed =>   
    ed.ItemArray[0].ToString().Length).ThenByDescending(ed => ed.ItemArray[0].ToString().Length);

     foreach(DataRow dr1 in drarray){
        //your code
    }

      where itemarray[0] is index of your column field in datataable.