注
DataGridView コントロールは、DataGrid コントロールに代わって機能を追加します。ただし、DataGrid コントロールは、下位互換性と将来の使用の両方で保持されます (選択した場合)。 詳細については、「Windows フォーム DataGridView コントロールと DataGrid コントロールの違い」を参照してください。
デザイン時機能を使用して Windows フォーム DataGrid を作成したら、実行時にグリッドの DataSet オブジェクトの要素を動的に変更することもできます。 これには、テーブルの個々の値に対する変更や、DataGrid コントロールにバインドされるデータ ソースの変更が含まれます。 個々の値への変更は、DataSet コントロールではなく、DataGrid オブジェクトを介して行われます。
プログラムでデータを変更するには
DataSet オブジェクトから目的のテーブルを指定し、テーブルの目的の行とフィールドを指定し、セルを新しい値と等しく設定します。
注
DataSet の最初のテーブルまたはテーブルの最初の行を指定するには、0 を使用します。
次の例では、
Button1
をクリックして、データセットの最初のテーブルの最初の行の 2 番目のエントリを変更する方法を示します。 DataSet (ds
) とテーブル (0
と1
) が以前に作成されました。Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ds.tables(0).rows(0)(1) = "NewEntry" End Sub
private void button1_Click(object sender, System.EventArgs e) { ds.Tables[0].Rows[0][1]="NewEntry"; }
private: void button1_Click(System::Object^ sender, System::EventArgs^ e) { dataSet1->Tables[0]->Rows[0][1] = "NewEntry"; }
(Visual C#、Visual C++)フォームのコンストラクターに次のコードを配置して、イベント ハンドラーを登録します。
this.button1.Click += new System.EventHandler(this.button1_Click);
this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
実行時に、SetDataBinding メソッドを使用して、DataGrid コントロールを別のデータ ソースにバインドできます。 たとえば、複数の ADO.NET データ コントロールがあり、それぞれ異なるデータベースに接続されている場合があります。
プログラムで DataSource を変更するには
SetDataBinding メソッドを、バインド先のデータ ソースとテーブルの名前に設定します。
次の例では、SetDataBinding メソッドを使用して、Pubs データベースの Authors テーブルに接続されている ADO.NET データ コントロール (adoPubsAuthors) に日付ソースを変更する方法を示します。
Private Sub ResetSource() DataGrid1.SetDataBinding(adoPubsAuthors, "Authors") End Sub
private void ResetSource() { DataGrid1.SetDataBinding(adoPubsAuthors, "Authors"); }
private: void ResetSource() { dataGrid1->SetDataBinding(adoPubsAuthors, "Authors"); }
こちらも参照ください
.NET Desktop feedback