13

データソースにバインドされた datagridview があります。[編集] ボタンまたは [新規] ボタンをクリックしたときに、datagridview に新しい行を追加する必要があります。いくつかのコードを試しましたが、エラーが発生しました。コードを以下に示します。

DataGridView grdview = new DataGridView();
grdview.Rows.Add();
grdview.Rows[grdview.Rows.Count - 1].Cells[0].Selected = true;
grdview.BeginEdit(false);

また、データソースをデータテーブルに型キャストしようとしましたが、解決策はありませんでした。

4

3 に答える 3

12

DataSourceのプロパティを使用しているようですDataGridView。このプロパティを使用してデータにバインドする場合、明示的に行を直接 DataGridView に追加することはできません。代わりに、データ ソースに行を直接追加する必要があります

If you are binding a List

//Assume Student list is bound as Dtaasource
List<Student> student = new List<Student>();

//Add a new student object to the list
student .Add(new Student());

//Reset the Datasource
dataGridView1.DataSource = null;
dataGridView1.DataSource = student;

If you are binding DataTable

DataTable table = new DataTable();

 DataRow newRow = table.NewRow();

// Add the row to the rows collection.
table.Rows.Add(newRow);
于 2013-09-20T11:21:40.780 に答える
7

いいえ、DataGridViewデータが何らかのデータ ソースにバインドされている場合、新しい行/列を追加することはできません。必要な列を含む新しいデータセット(DataTableまたはその他のもの)を作成し、それに再バインドする必要がありますDataGridView

これが役立つことを願っています。

于 2013-09-20T11:07:47.930 に答える