我在尝试用addnew()方法,但他只能添加一空行.在我用了for循环后,应该是添加上了许多行,但他还是只添加一行,并且添加的是最后一条数据.这究竟是为什么啊? for (i = 0; i < ApprovalStatusInfoDs1.Tables[0].Rows.Count; i++)
                {
                    DataRowView drv =ApprovalStatusInfoDv.AddNew();
                    drv.Row["APPROVAL_DESCRIPTION"]="FC Safety Assessment";
                    drv.Row["WORKER_NAME"]=ApprovalStatusInfoDs1.Tables[0].Rows[i].ItemArray.GetValue(3);
                    drv.Row["CHILD_NAME"]=ApprovalStatusInfoDs1.Tables[0].Rows[i].ItemArray.GetValue(4);
                    drv.Row["STATUS_DATE"]=ApprovalStatusInfoDs1.Tables[0].Rows[i].ItemArray.GetValue(5);
                   } 

解决方案 »

  1.   

    ApprovalStatusInfoDs1与ApprovalStatusInfoDv 怎么不一样
      

  2.   

    ApprovalStatusInfoDv是我要进行操作的DataView,他里面已经含有来自主数据库的数据,而ApprovalStatusInfoDs1是来自另一个数据库的DataSet,我要把他添加进ApprovalStatusInfoDv里,请高手们帮忙分析一下,怎么办啊?
      

  3.   

    你的方法就错了。
    DataView一般不参与数据操作,只作数据的表示你可以用DataRow和DataTable来操作数据
    DataRowView 换成DataRow
    ApprovalStatusInfoDv换成ApprovalStatusInfoDv所在的DataTable(ApprovalStatusInfoDv.Table)最后,记得写上DataTable.Rows.Add(你的新行)
      

  4.   

    我一般是这样做的:
    System.Data.DataTable tbl=new System.Data.DataTable();
    tbl.Columns.Add("id");
    for(int i=0;i<3;i++)
    {
    System.Data.DataRow r=tbl.NewRow();
    r["id"]=i;
    tbl.Rows.Add(r);
    }
      

  5.   

    小生在此感谢各位高手,我的问题解决了.但是我还是将DataTable转化成DataView,用的是以下方法:
             ApprovalStatusInfoDv = dtb.DefaultView
    想必大家对此方法都已很常见了