2011-04-19 51 views
3

我創建了一個新的數據集作爲如何動態添加列和行到空數據集?

DataSet local_ds2 = new DataSet(); 

我想這添加的行和列動態

DataColumn dcAmount = new DataColumn("EmpID"); 
    local_ds2.Tables["ACHFile"].Columns.Add(dcAmount); 

    DataColumn dcName = new DataColumn("Name"); 
    local_ds2.Tables["ACHFile"].Columns.Add(dcName); 

    DataColumn dcBnkRoutingNumber = new DataColumn("BankRoutingNumber"); 
    local_ds2.Tables["ACHFile"].Columns.Add(dcBnkRoutingNumber); 

    DataColumn dcBnkAccount = new DataColumn("BankAccount"); 
    local_ds2.Tables["ACHFile"].Columns.Add(dcBnkAccount); 

    DataColumn dc = new DataColumn("Amount"); 
    local_ds2.Tables["ACHFile"].Columns.Add(dc); 

    DataColumn dc1 = new DataColumn("BankAccountTypeID"); 
    local_ds2.Tables["ACHFile"].Columns.Add(dc1); 

    for (int i = 0; i < chkcnt; i++) 
    { 
     local_ds2.Tables["ACHFile"].Rows[i]["EmpID"] = EmpID[i]; 
     local_ds2.Tables["ACHFile"].Rows[i]["Name"] = Empname[i]; 
     local_ds2.Tables["ACHFile"].Rows[i]["BankRoutingNumber"] = BnkRoutingNumber[i]; 
     local_ds2.Tables["ACHFile"].Rows[i]["BankAccount"] = BnkAccount[i]; 
     local_ds2.Tables["ACHFile"].Rows[i]["BankAccountTypeID"] = AchDB.strBankTypeID[i]; 
     local_ds2.Tables["ACHFile"].Rows[i]["Amount"] = AchDB.Amount1[i]; 
     if (AchDB.strBankTypeID[i].ToString() == "D") 
      strBankAccntType = "BankAccountTypeID='" + AchDB.strBankTypeID[i].ToString() + "'"; 
    } 

但我無法添加列和行動態任何一個可以幫助我

+0

我想列和行添加到您需要** ** FIRST添加'DataTable'你'DataSet'數據動態地設置 – Dotnet 2011-04-19 06:41:12

+0

- ** ** THEN你可以添加列ns到那個'DataTable',一旦完成,就可以開始向該表添加數據行了 – 2011-04-19 07:03:22

回答

3

試着改變你的代碼,這

DataRow dr;   

for (int i = 0; i < chkcnt; i++) 
     { 
      dr = local_ds2.Tables["ACHFile"].NewRow(); 
      dr["EmpID"] = EmpID[i]; 
      dr["Name"] = Empname[i]; 
      dr["BankRoutingNumber"] = BnkRoutingNumber[i]; 
      dr["BankAccount"] = BnkAccount[i]; 
      dr["BankAccountTypeID"] = AchDB.strBankTypeID[i]; 
      dr["Amount"] = AchDB.Amount1[i]; 
      if (AchDB.strBankTypeID[i].ToString() == "D") 
       strBankAccntType = "BankAccountTypeID='" + AchDB.strBankTypeID[i].ToString() + "'"; 
      local_ds2.Tables["ACHFile"].Rows.Add(dr); 
     } 

您不添加行到DataTable

+0

我在添加數據列時遇到錯誤 – Dotnet 2011-04-19 06:53:58

+2

嘗試添加** local_ds2.Tables.Add(new DataTable(「ACHFile」)); **完全創建數據集 – V4Vendetta 2011-04-19 06:55:53

0

嘗試將datacolums放在一個表格中,然後將表格添加到表格中。現在,它看起來就像是增加一列到表跳過行的步驟

2

應該是這樣......

 DataRow myRow; 
     DataTable ACHFile = new DataTable(); 
     DataColumn EmpID = new DataColumn("EmpID", System.Type.GetType("System.String")); 
     ACHFile.Columns.Add(EmpID); 

    for (int i = 0; i < chkcnt; i++) 
    { 
     myRow = ACHFile.NewRow(); 
     myRow["EmpID"] = EmpID[i]; 
     ACHFile.Rows.Add(myRow); 
....... 
    } 
+0

+1之後,您需要**首先**添加一個'DataTable',只有** THEN **您可以開始向該數據表添加列,並將行添加到該表中.... – 2011-04-19 07:02:38