方法 : Windows フォーム DataGrid コントロールに表示されるデータを実行時に変更する

更新 : 2007 年 11 月

4dk1bkdb.alert_note(ja-jp,VS.90).gifメモ :

DataGridView コントロールは、DataGrid コントロールに代わると共に追加の機能を提供します。ただし、DataGrid コントロールは、下位互換性を保つ目的および将来使用する目的で保持されます。詳細については、「Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて」を参照してください。

デザイン時の機能を使用して Windows フォーム DataGrid を作成した後で、グリッドの DataSet オブジェクトの要素を実行時に動的に変更できます。これには、テーブルの個別の値を変更する場合と、DataGrid コントロールに連結するデータ ソースを変更する場合があります。個別の値の変更は、DataGrid コントロールではなく、DataSet オブジェクトによって行います。

プログラムでデータを変更するには

  • データを変更する DataSet オブジェクトのテーブル、および変更する行とフィールドを指定し、セルを新しい値に設定します。

    4dk1bkdb.alert_note(ja-jp,VS.90).gifメモ :

    DataSet の最初のテーブルまたはテーブルの最初の行を指定するには、0 を使用します。

    次の例は、 Button1 をクリックしてデータセットの最初のテーブルの最初の行の 2 番目のエントリを変更する方法を示しています。DataSet (ds) とテーブル (0 and 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 データ コントロールをそれぞれ異なるデータベースに接続できます。

プログラムでデータ ソースを変更するには

  • 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");
       }
    

参照

処理手順

方法 : Windows フォーム DataGrid コントロールの列を削除するまたは非表示にする

方法 : Windows フォーム DataGrid コントロールにテーブルと列を追加する

方法 : データ ソースに Windows フォーム DataGrid コントロールをバインドする

概念

DataSet (ADO.NET)