0

質問があります。2つのDataTableがあり、最初のテーブルから3列を別のテーブルに3列コピーしたいと思います。最初の3行をスキップしてから、2.tableに値を追加する方法を教えてください。

私のコードは次のようになります。

 foreach (DataRow ex1 in excelTb1.Rows)
            {
                foreach (DataRow ex2 in excelTb2.Rows)
                {                      

                    //ex2["ABC"] = ex1["ABC"];      // with skip(3) ?
                    //ex2["Name"] = ex1["Name"];
                    //ex2["ID"] = ex1["ID"];
                }
            }

私の1.table:_ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ _ _私の2.tableは次のようになります:

          Table1                               Table2
ABC   Name   ID  ...                     ABC   Name   ID    ...                     
 a     lola   2  ...                     ...   ...    ...   ... 
 b     kiki   6  ...                     ...   ...    ...   ... 
...    ...   ... ...                     ...   ...    ...   ... 
                                         a     lola   2     ...
                                         b     kiki   6     ...        
                                         ...   ...    ...   ...             
4

2 に答える 2

2

最初の3行をスキップ

foreachの代わりにForループを使用します。

for(int i=3; i < excelTb2.Rows.Count; i++) //start the loop with index 3 => Row 4
{
    DataRow ex2 = exceltb2.Rows[i];
    //ex2["ABC"] = ex1["ABC"];      // with skip(3) ?
    //ex2["Name"] = ex1["Name"];
    //ex2["ID"] = ex1["ID"];
}
于 2012-11-15T09:40:14.767 に答える
1
for (int i = 0; i < excelTb1.Rows.Count; i++)
{
     DataRow dr1 = excelTb1.Rows[i];

     if (excelTb2.Rows.Count > i + 3)
     {
         DataRow dr2 = excelTb2.Rows[i + 3];
         dr2["ABC"] = dr1["ABC"];
         dr2["Name"] = dr1["Name"];
         dr2["ID"] = dr1["ID"];
     }
     else
         break;
}
于 2012-11-15T09:46:28.387 に答える