DataTable排序

一般用不到在Datatable中二次排序,但是有时候还是要知道怎么排序

这里做个备忘,总结了两种方法:

        private DataTable DtSortA(DataTable Dt,string column)
        {
            DataTable dtNew = Dt.Clone();
            dtNew.Columns[column].DataType = typeof(DateTime);
            foreach (DataRow s in Dt.Rows)
            {
                dtNew.ImportRow(s);//导入旧数据
            }
            dtNew.DefaultView.Sort = column+" desc";
            dtNew = dtNew.DefaultView.ToTable();
            return dtNew;
        }
        private DataTable DtSortB(DataTable Dt, string column)
        {
            DataTable dtNew = Dt.Clone();
            foreach (DataRow item in Dt.AsEnumerable().OrderByDescending(a => Convert.ToDateTime(a[column])))
            {
                dtNew.ImportRow(item);
            }
            return dtNew;
        }

这里是以时间排序为例。其他类型的int 之类的在方法中修改就可以了。

 

posted @ 2016-11-16 17:01  山顶洞外人  阅读(1964)  评论(0编辑  收藏  举报