例如如下代码:
DataSet ds=new DataSet();
ds.Tables.Add(new DataTable("orders"));
//这里的DataSet中的DataTable具有两列
ds.Tables[0].Columns.Add(new DataColumn("id"));
ds.Tables[0].Columns.Add(new DataColumn("number"));
//添加至数据集
for(int i=0;i<cForm.lv_cart.Items.Count;i++)
{
DataRowCollection rc;  
DataRow myNewRow;
object[] rowVals = new object[2];
rc = ds.Tables[0].Rows;
rowVals[0] = cForm.lv_cart.Items[i].SubItems[1].Text;
rowVals[1] = cForm.lv_cart.Items[i].SubItems[0].Text;
myNewRow = rc.Add(rowVals); 
}

解决方案 »

  1.   

    上面的程序我改了一下
    DataSet ds=new DataSet();
    ds.Tables.Add(new DataTable("orders"));
    //这里的DataSet中的DataTable具有两列
    ds.Tables[0].Columns.Add(new DataColumn("id"));
    ds.Tables[0].Columns.Add(new DataColumn("number"));
    //添加至数据集
    for(int i=0;i<lv_cart.Items.Count;i++)
    {
    DataRow myNewRow;
    object[] rowVals = new object[2];
    myNewRow = ds.Tables[0].NewRow();
    myNewRow[0] = lv_cart.Items[i].SubItems[0].Text;
    myNewRow[1] = lv_cart.Items[i].SubItems[1].Text;
    ds.Tables[0].Rows.Add(myNewRow);
    }
      

  2.   

    在DataTable中添加新行应当使用 table.NewRow。
      

  3.   

    DataTable myDataTable = new DataTable();
    DataColumn myColumn;
    DataRow myRow;  ds.DataSetName=lsvSave.Title;
    for (int i=0;i<lsvSave.Columns.Count;i++)
    {
    myColumn = new DataColumn();
    myColumn.DataType = System.Type.GetType("System.String");
    myColumn.ColumnName = lsvSave.Columns[i].Text;
    myDataTable.Columns.Add(myColumn);
    }
      
    for(int i = 0; i < lsvSave.Items.Count; i++)
    {
    myRow = myDataTable.NewRow();

    myRow[0] = lsvSave.Items[i].Text;
    for (int j=1;j<lsvSave.Items[i].SubItems.Count;j++)
    {
    myRow[j] = lsvSave.Items[i].SubItems[j].Text;
    }
    myDataTable.Rows.Add(myRow);
    }