Dela via


Anvisningar: Ändra visade data vid körning i Windows Forms DataGrid-kontrollen

Anmärkning

Den DataGridView kontrollen ersätter och lägger till funktioner i DataGrid-kontrollen. Den DataGrid kontrollen behålls dock för både bakåtkompatibilitet och framtida användning, om du väljer det. För mer information, se Skillnader mellan Windows Forms DataGridView- och DataGrid-kontrollerna.

När du har skapat en Windows Forms DataGrid med hjälp av designtidsfunktionerna kanske du också vill ändra elementen i rutnätets DataSet objekt dynamiskt under körningstid. Detta kan omfatta ändringar av antingen enskilda värden i tabellen eller ändring av vilken datakälla som är bunden till DataGrid kontroll. Ändringar i enskilda värden görs via DataSet-objektet, inte DataGrid kontroll.

Så här ändrar du data programmatiskt

  1. Ange önskad tabell från objektet DataSet och önskad rad och fält från tabellen och ange cellen lika med det nya värdet.

    Anmärkning

    Om du vill ange den första tabellen i DataSet eller den första raden i tabellen använder du 0.

    I följande exempel visas hur du ändrar den andra posten för den första raden i den första tabellen i en datauppsättning genom att klicka på Button1. Tidigare skapades DataSet (ds) och Tabeller (0 och 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++) Placera följande kod i formulärets konstruktor för att registrera händelsehanteraren.

    this.button1.Click += new System.EventHandler(this.button1_Click);
    
    this->button1->Click +=
       gcnew System::EventHandler(this, &Form1::button1_Click);
    

    Vid körning kan du använda metoden SetDataBinding för att binda DataGrid-kontrollen till en annan datakälla. Du kan till exempel ha flera ADO.NET datakontroller som var och en är ansluten till en annan databas.

Så här ändrar du DataSource programmatiskt

  1. Ange metoden SetDataBinding till namnet på den datakälla och tabell som du vill binda till.

    I följande exempel visas hur du ändrar datumkällan med hjälp av metoden SetDataBinding till en ADO.NET datakontroll (adoPubsAuthors) som är ansluten till tabellen Författare i pubdatabasen.

    Private Sub ResetSource()
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors")
    End Sub
    
    private void ResetSource()
    {
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors");
    }
    
    private:
       void ResetSource()
       {
          dataGrid1->SetDataBinding(adoPubsAuthors, "Authors");
       }
    

Se även