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();

 

posted @ 2016-09-22 14:28  zhyue93  阅读(4936)  评论(0编辑  收藏  举报