DataTable dt;
             
            List<DataRow> userInfo = new List<DataRow>();
            for (int i = 0; i < dt.Rows.Count; i++)
                userInfo.Add(dt.Rows[i]);   上面的代码由DataTable 类型的变量得到了List<DataRow>类型的变量userInfo,怎么再把userInfo 转换成DataTable类型的变量呢?谢谢!

解决方案 »

  1.   

    这个应该不存在转换一说,因为一个DataRow必然依赖于一个DataTable,DataRow中一直保持着对一个DataTable的引用,不论DataRow怎么被引用。
    所以办法很简单,DataTable dt = userInfo[0].Table;
      

  2.   

    我对userInfo做过处理,去掉了一些不满足指定条件的元素,所以不能直接 userInfo[0].Table。
    也就是说userInfo的实际数据已经和原表dt不一样了。这个新的数据怎么转换成DataTable类型的变量呢?
      

  3.   

    那就只能遍历了,Datatable dt2 = dt.Clone();
    foreach(Datarow dr in userInfo)
        dt2.ImportRow(dr);