大家好,我现在有这样一个问题。
一个搜索的页面,返回的是一个datatable,用session1装,接着呢,在搜索结果页面每一条记录都有checkbox,可以让用户进一步的选择,选择的记录的id很容易得到。问题就是我现在从之前的session1中如何匹配那个id的list,接着放到一个全新的datatable中,用session2表示。
我之前用foreach循环,然后直接把匹配的每一条datarow放到新的datatable中,但是会有错误,说那一条datarow已经被使用,不可以加入到新的datatable中。大家有什么建议?
谢谢

解决方案 »

  1.   

    我之前用foreach循环,然后直接把匹配的每一条datarow放到新的datatable中,但是会有错误,说那一条datarow已经被使用,不可以加入到新的datatable中。大家有什么建议?你不能那样,你必须,在新的表例如Dt2中
    DataRow dr=Dt2.NewRow();然后拷贝行的数据 !因为原来的datarow已经属于第一个表 了!
      

  2.   

    //dr为session1的一个DataRow
    session2.ImportRow(dr[i]);
      

  3.   

    DataRow[] drs=session2.Select("选中的条件");foreach(DataRow dr in drs)
    {
      session2.ImportRow(dr);
    }
      

  4.   


    选中的条件应该是原来的dt里面的一个field跟选定的几条数据注意比较,怎么比较阿?
      

  5.   

    选中的条件应该是原来的dt里面的一个field跟选定的几条数据注意比较,怎么比较阿?
    一个比较笨的方法就是循环,希望能理解,期待更好的方法
      

  6.   


    可以用field跟循环的变量比较吗?我试过,不行的。循环做不到