假设 list1 中有100条数据,那么 list.getRange(0,10)  可以获得前10条吧。那么如果  datatable1 中有100条数据,那么怎么获得前10条呢?也就是说,怎么把前10条赋值给另外一个 datatable 呢?谢谢

解决方案 »

  1.   

    for(int i=0;i<10;i++)
    {
       datarow dr=dt.rows[i];
       dt2.Rows.Add(dr);
    }
      

  2.   

    CSDN 说我结贴太快。稍等就结贴。
      

  3.   

    懂了。懂了。只是我以为有很简单的方法,比如 getRange 一样的,就像如梦兄的 Take(10)不过我对LINQ不熟悉,2.0没有这么爽的方法的话,还就只能用循环了 
      

  4.   

    var result=ds.Tables[0].AsEnumerable().ToList().Take(..).Skip(..)...
      

  5.   

    报错了。 datarow dr=dt.rows[i];“该行已经属于另一个表。”
      

  6.   

    if (!IsPostBack)
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("c1", typeof(string));
                dt.Columns.Add("c2", typeof(string));
                dt.Columns.Add("c3", typeof(string));
                dt.Columns.Add("c4", typeof(string));
                for (int i = 0; i < 30; i++)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = "a" + i.ToString();
                    dr[1] = "b=" + i.ToString();
                    dr[2] = "c=" + i.ToString();
                    dr[3] = "d=" + i.ToString();
                    dt.Rows.Add(dr);
                }
                GridView1.DataSource = dt;
                GridView1.DataBind();            DataTable dt2 = dt.Clone();
                for (int i = 0; i < 10; i++)
                {
                    dt2.Rows.Add(dt.Rows[i].ItemArray);
                }
                GridView2.DataSource = dt2;
                GridView2.DataBind();
            }测试通过
      

  7.   

    DataTable dt2 = dt.Clone();唉。郁闷。我 new DataTable ,感觉不对劲。。丢人了。。结贴。