解决方案 »

  1.   

    为什么不能使用SQL语句查询的方式?楼主是要实现什么需求?
      

  2.   

    DataTable dt = new DataTable();
    dt.Columns.Add("组别");
    dt.Rows.Add("TEAM9");
    dt.Rows.Add("TEAM1");
    dt.Rows.Add("TEAM5");
    dt.Rows.Add("TEAM10");
    dt.Rows.Add("TEAM11");
    dt = dt.Rows.Cast<DataRow>().OrderBy(x => int.Parse(x["组别"].ToString().Substring(4))).ToTable();
    GridView1.DataSource = dt;
    GridView1.DataBind();
    组别 
    TEAM1 
    TEAM5 
    TEAM9 
    TEAM10 
    TEAM11 
      

  3.   

    你可以给DataTable额外加一个列,去掉Team专门用此列来进行比较
      

  4.   


    多谢回复,我用的是C#2.0 ,没有linq,还有别的办法吗?
      

  5.   

    以后提问时请讲清楚版本,以免白写,这个只需.net 2.0:
    DataTable dt = new DataTable();
    dt.Columns.Add("组别");
    dt.Rows.Add("TEAM9");
    dt.Rows.Add("TEAM1");
    dt.Rows.Add("TEAM5");
    dt.Rows.Add("TEAM10");
    dt.Rows.Add("TEAM11");
    dt.Columns.Add("temp", typeof(int), "convert(substring(组别,5,3),System.Int32)");
    dt.DefaultView.Sort = "temp";
    dt = dt.DefaultView.ToTable(false, "组别");
    GridView1.DataSource = dt;
    GridView1.DataBind();
    组别 
    TEAM1 
    TEAM5 
    TEAM9 
    TEAM10 
    TEAM11