0

フォームにDataGridViewがあります。データベースからいくつかのデータを選択してデータテーブルにロードし、その後、以下のようにこのデータテーブルをグリッドのデータソースに参照します。

string sql = "";
sql = "SELECT id,name,surname,code FROM t_persons";
DataTable dt = new DataTable();
...
adapter.Fill(dt);
grid.DataSource = dt;

その後、grid.Rows.Add()メソッドを使用してこのグリッドに新しい行を追加します。ただし、コントロールがデータにバインドされている場合、エラーが発生するたびに、プログラムで行をDataGridViewの行コレクションに追加することはできません。
それで、問題は何ですか、そしてどうすればそれを解決できますか?

4

2 に答える 2

2

DataGridViewではなく、DataTableに行を追加する必要があります。それは例外が言っていることです。試す:

DataRow newRow = dt.NewRow();
dt.Rows.Add(newRow);
于 2012-08-23T08:55:06.840 に答える
1

行をdatatableに直接追加できます。これは、datatableにバインドされるため、gridviewに影響します。

于 2012-08-23T08:55:23.890 に答える