DataTable排序时,需要把转为DataView形式。它转为DataView排序完成后,重新转为DataTable时,需要注意不是把DataView直接赋给DataTable,而是把排序后的数据插入新表,然后赋给DataTable。
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Rows.Add(new object[] { 2, "lwolf" });
dt.Rows.Add(new object[] { 1, "kkkkk" });
dt.Rows.Add(new object[] { 16, "jim" });
dt.Rows.Add(new object[] { 9, "test" });
DataTable dtCopy = dt.Copy();
DataView dv = dt.DefaultView;
dv.Sort = "name desc";
dtCopy = dv.ToTable();