现在有MyDataSet和TempDataSet两个dataset,我现在想从myDataSet中筛选出符合我条件的数据,然后把筛选出的数据填充到TempDataSet中去。小弟我现在知道的筛选数据的方法只有
MyDataSet.Tables[0].DefaultView.RowFilter="ifshow=1";和
DataRow[] TempRows = myDataSet.Tables[0].Select("ifshow=1","code desc");
两种,但是不清楚那种可以实现把筛选出的数据填充到新的TempDataSet中去,请各位大侠帮忙想想代码我该怎么写,小弟在此不剩感激!

解决方案 »

  1.   

    DataRow[] addrows=MyDataSet.Tables[0].select(MyDataSet.Tables[0].DefaultView.RowFilter,'');
    foreach(DataRow therow in addrows)
    {
    myDataSet.Tables[0].ImportRow(therow);
    }
      

  2.   

    我的程序是这样写的好像还是不太成功
    private void btTBSelOk_Click(object sender, System.EventArgs e)
    {
        DataSet TempDataSet = new DataSet ();
        myDataSet.AcceptChanges();
        DataTable TempTable = TempDataSet.Tables.Add("S_PropertyKind");
        DataRow[] addrows=myDataSet.Tables[0].Select("ifshow=1");
        foreach(DataRow therow in addrows)
        {
    TempDataSet.Tables[0].ImportRow(therow);
        }
        TempDataSet.AcceptChanges();
        string sIniFilename =Application.StartupPath +"\\" + "Temp.xml";
        StreamWriter sw = new StreamWriter (sIniFilename);
        if(sw!=null)
        {
    sw.Write(TempDataSet.GetXml());
    sw.Close();
        }
    }
    不知道哪里写的不对?
      

  3.   

    哪位大侠能帮忙啊?我新生成的TempDataSet中总是没有数据,myDataSet中的结构是行如:
    - <S_PropertyKind>
      <ifshow>1</ifshow> 
      <name>产权转让转让信息</name> 
      <code>C_PropertyChange</code> 
      <playtime>-1</playtime> 
      </S_PropertyKind>
    - <S_PropertyKind>
      <ifshow>1</ifshow> 
      <name>房产转让转让信息</name> 
      <code>C_HouseChange</code> 
      <playtime>-1</playtime> 
      </S_PropertyKind>
    - <S_PropertyKind>
      <ifshow>1</ifshow> 
      <name>股权转让转让信息</name> 
      <code>C_StockChange</code> 
      <playtime>-1</playtime> 
      </S_PropertyKind>
    - <S_PropertyKind>
      <ifshow>1</ifshow> 
      <name>技术转让转让信息</name> 
      <code>C_TechnologyChange</code> 
      <playtime>-1</playtime> 
      </S_PropertyKind>
      

  4.   

    为什么要用StreamWriter来写,TempDataSet.WriteXml(sIniFilename )不行吗?