DataTable的orderby有关问题

时间:2022-05-23 22:30:17

在网上找了一个在后台重新对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 = ; i < ; 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();