3

DataTableまたはDataSetのいずれかによってDataGridView(grid1)にデータを入力しています。
選択した行のセットを削除してから、それらを別のバインドされていないDataGridView(grid2)に追加できます。
grid2から行を取得し、それをgrid1に追加すると、問題が発生します。

コントロールがデータにバインドされている場合、プログラムでDataGridViewの行コレクションに行を追加することはできません。

これは、

grid1.DataSource = myDataTable
or
grid1.DataSource = myDataSet

しかし、私がするとき

grid1.DataSource = Nothing

grid1のすべての行が削除されます。

datagridviewをデータソースから切り離し、行を保持する方法はありますか?

4

3 に答える 3

0

別のバインドされていないDataGridView(grid3)を追加
し、バインドされたdatagridview(grid1)のコンテンツをプログラムでgrid3にコピーし
て、そこから操作するソリューションを考えることができます。

于 2013-02-26T03:31:44.963 に答える
0

私はこれを試していませんが、Copyメソッドを見てみましょう。

grid1.DataSource = myDataTable.Copy

MSDNには、「このDataTableの構造とデータの両方をコピーする」と書かれています。 それをコピーすると、バインドも解除される可能性があります。

于 2013-02-26T03:57:09.390 に答える
0

データバインドされたグリッドがある場合は、グリッド内の行をまったく操作しないでください。データソースとして設定したテーブルを変更すると、グリッドに新しい行が反映されます。

dim row as datarow = myDataTable.newrow()
row.item("Column1") = "new value"
myDataTable.rows.add(row)

これで、新しい行がデータバインドされたグリッドに表示されます。データソースのデータテーブルから行を削除することで、グリッドから行を削除することもできます。

于 2015-06-25T20:28:31.770 に答える