2011-08-02 3 views
0

私は17-20行を含むdataaset1を持っています。今私は4-5行を含むdataset2として別のデータセットを持っています。データセット2の行をデータセット1に追加する必要があります。データセット1は、グリッドに再度バインドする必要があります(合計22〜25行)。データセットに追加された行を変更する

どうすれば可能ですか?

また、データセット2の行は、データセット1の列のいくつかの条件に基づいて追加する必要があります。列1が 'Y'の場合、データセット2行を追加する必要があります。おそらく

答えて

1

C#のバージョン(これはあなたがを探している方法であればはF0Xの答えを受け入れてください):

は、上記のエラーに対処するために更新 - サイドノートにImportRow

if (dataset1.Tables[0].Rows[0][0].ToString() == "Y") 
{ 
    for (int i = 0; i < dataset2.Tables[0].Rows.Count - 1; i++) 
    { 
     dataset1.Tables[0].ImportRow(dataset2.Tables[0].Rows[i]); 
    } 
} 
+0

+1ありがとう、ティム;それはスリップした;) – f0x

+0

それをクリック!できます! –

2

このような何か - vb.netのコードが、あなたは問題ないはずです。

'dataSet1 populated 
'dataSet2 populated 

     If dataset1.Tables(0).Rows(0)(0) = "Y" Then ' first row, first column check - as example 
      For i As Integer = 0 To dataset2.Tables(0).Rows.Count - 1 
       dataset1.Tables(0).ImportRow(dataset2.Tables(0).Rows(i)) 
      Next 
     End If 

'Bind dataset1 to grid 
+1

を使用する - なぜあなたを持っ考慮していませんクエリは2つのデータセットを返し、それぞれdataset1.tables(0)とdataset1.tables(1)としてアクセスできます。コメントのために – f0x

+0

感謝します。しかし、System.ArgumentExceptionのエラーがスローされました:この行は既に別のテーブルに属しています –

+0

DataTableのImportRowメソッドを使用してみてください - 下のC#の例を参照してください。 – Tim

関連する問題