你的位置:首页 > ASP.net教程

[ASP.net教程]DataTable的orderby有关问题


在网上找了一个在后台重新对DataTable排序的方法(之所以不在数据库是因为我生成的是报表,写了存储过程用的表变量,order by也要用变量,死活拼不起来,sql能力没过关,动态sql也试了)

sql的网址:sql将查询的结果集一次性插入到表变量中

网址:DataTable中使用Order By排序与Where过滤

/// <summary>/// DataTable中使用Order By排序与Where过滤/// </summary>private void Bind(){  //这里构造一个数据源  DataTable dt = new DataTable();  dt.Columns.Add("ID", typeof(System.String));  dt.Columns.Add("uName", typeof(System.String));  dt.Columns.Add("uDate", typeof(System.DateTime));  for (int i = 0; i < 10; i++)  {    DataRow dr = dt.NewRow();    dr["ID"] = i.ToString();    dr["uName"] = "name" + i;    dt.Rows.Add(dr);  }  dt.DefaultView.Sort = "ID asc";//相当于Order By  dt.DefaultView.RowFilter = "ID>5";//相当于Where  GridView1.DataSource = dt;  GridView1.DataBind();}

后台调试了一下发现dt的排序没变,这时需要加一句dt = dt.DefaultView.ToTable();