Gewusst wie: Binden des DataGrid-Steuerelements in Windows Forms an eine Datenquelle mithilfe des Designers

Hinweis

Obwohl das DataGridView-Steuerelement das DataGrid-Steuerelement ersetzt und funktionell erweitert, wird das DataGrid-Steuerelement sowohl aus Gründen der Abwärtskompatibilität als auch, falls gewünscht, für die zukünftige Verwendung beibehalten. Weitere Informationen finden Sie unter Unterschiede zwischen dem DataGridView-Steuerelement und dem DataGrid-Steuerelement in Windows Forms.

Das DataGrid-Steuerelement in Windows Forms wurde speziell für die Anzeige von Informationen aus einer Datenquelle entwickelt. Sie binden das Steuerelement zur Entwurfszeit, indem Sie die DataSource-Eigenschaft und die DataMember-Eigenschaft festlegen oder zur Laufzeit die SetDataBinding-Methode aufrufen. Daten können aus einer Vielzahl von Datenquellen angezeigt werden. Die gebräuchlichsten sind jedoch DataSets und Datenansichten.

Wenn die Datenquelle zur Entwurfszeit verfügbar ist – wenn das Formular z. B. eine Instanz eines DataSets oder einer Datenansicht enthält – kann das Datenblatt zur Entwurfszeit an die Datenquelle gebunden werden. Sie können dann eine Vorschau der Daten im Raster anzeigen lassen.

Das Datenblatt kann auch programmgesteuert zur Laufzeit gebunden werden. Dies ist dann sinnvoll, wenn die Datenquelle anhand von Informationen festgelegt wird, die sich zur Laufzeit ergeben, beispielsweise, wenn der Benutzer in der Anwendung den Namen der Tabelle angeben kann, die angezeigt werden soll. Außerdem ist es in solchen Fällen notwendig, in denen die Datenquelle zur Entwurfszeit nicht vorhanden ist. Dazu gehören Datenquellen wie Arrays, Auflistungen, nicht typisierte DataSets und Datenreader.

Für das folgende Verfahren wird ein Projekt vom Typ Windows-Anwendung mit einem Formular benötigt, das ein DataGrid-Steuerelement enthält. Weitere Informationen zum Einrichten eines solchen Projekts finden Sie unter Gewusst wie: Erstellen eines Windows-Anwendungsprojekts und Gewusst wie: Hinzufügen von Steuerelementen zu Windows Forms. In Visual Studio 2005 ist das DataGrid-Steuerelement in der Toolbox standardmäßig nicht enthalten. Weitere Informationen zum Hinzufügen dieses Steuerelements finden Sie unter Gewusst wie: Hinzufügen von Elementen zur Toolbox. Zusätzlich können Sie in Visual Studio 2005 das Datenquellenfenster verwenden, um Daten zur Entwurfszeit zu binden. Weitere Informationen finden Sie unter Anzeigen von Daten in Formularen in Windows-Anwendungen.

Hinweis

Die angezeigten Dialogfelder und Menübefehle können je nach den aktiven Einstellungen oder der verwendeten Version von den in der Hilfe beschriebenen abweichen. Wählen Sie im Menü Extras die Option Einstellungen importieren und exportieren aus, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So binden Sie das DataGrid-Steuerelement im Designer an eine einzelne Tabelle

  1. Legen Sie für die DataSource-Eigenschaft des Steuerelements das Objekt fest, das die Datenelemente enthält, an die die Bindung erfolgen soll.

  2. Wenn es sich bei der Datenquelle um ein DataSet handelt, legen Sie für die DataMember-Eigenschaft den Namen der Tabelle fest, an die die Bindung erfolgen soll.

  3. Wenn es sich bei der Datenquelle um ein DataSet oder eine auf einer DataSet-Tabelle beruhende Datenansicht handelt, fügen Sie dem Formular Code zum Füllen des DataSets hinzu.

    Der genaue Code richtet sich dabei danach, woher das DataSet die Daten bezieht. Wenn ein DataSet direkt aus einer Datenbank gefüllt wird, wird üblicherweise die Fill-Methode eines Datenadapters aufgerufen, wie in folgendem Codebeispiel, in dem das DataSet DsCategories1 gefüllt wird:

    sqlDataAdapter1.Fill(DsCategories1)
    
    sqlDataAdapter1.Fill(DsCategories1);
    
    sqlDataAdapter1->Fill(dsCategories1);
    

    Bei einem DataSet, das aus einem XML-Webdienst gefüllt wird, wird in der Regel eine Instanz des Dienstes im Code erstellt und anschließend eine seiner Methoden aufgerufen, die ein DataSet zurückgibt. Dann führen Sie das DataSet aus dem XML-Webdienst mit dem lokalen DataSet zusammen. Im folgenden Codebeispiel wird gezeigt, wie Sie eine Instanz des XML-Webdienstes CategoriesService erstellen, deren GetCategories-Methode aufrufen und das sich ergebende DataSet mit dem lokalen DataSet  DsCategories1 zusammenführen:

    Dim ws As New MyProject.localhost.CategoriesService()
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials
    DsCategories1.Merge(ws.GetCategories())
    
    MyProject.localhost.CategoriesService ws = new MyProject.localhost.CategoriesService();
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
    DsCategories1.Merge(ws.GetCategories());
    
    MyProject::localhost::CategoriesService^ ws = 
       new MyProject::localhost::CategoriesService();
    ws->Credentials = System::Net::CredentialCache::DefaultCredentials;
    dsCategories1->Merge(ws->GetCategories());
    

    Ein ausführlicheres Beispiel zur Verwendung eines XML-Webdienstes in einem Windows Form finden Sie unter Exemplarische Vorgehensweise: Erstellen einer verteilten Anwendung. Weitere Informationen zum Füllen von DataSets finden Sie im entsprechenden Abschnitt unter Übersicht über Datasets in Visual Studio.

  4. (Optional) Weisen Sie dem Raster die gewünschten Tabellen- und Spaltenformate zu.

    Die Tabelle wird zwar auch ohne Tabellenformate angezeigt, jedoch mit einer minimalen Formatierung und allen vorhandenen Spalten.

So binden Sie das DataGrid-Steuerelement im Designer an mehrere Tabellen in einem DataSet

  1. Legen Sie für die DataSource-Eigenschaft des Steuerelements das Objekt fest, das die Datenelemente enthält, an die die Bindung erfolgen soll.

  2. Wenn das DataSet verknüpfte Tabellen enthält, d. h. ein Beziehungsobjekt, legen Sie für die DataMember-Eigenschaft den Namen der übergeordneten Tabelle fest.

  3. Schreiben Sie Code, um das DataSet aufzufüllen.

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen von Tabellen und Spalten zum DataGrid-Steuerelement in Windows Forms
Exemplarische Vorgehensweise: Erstellen einer verteilten Anwendung

Referenz

Übersicht über das DataGrid-Steuerelement (Windows Forms)

Weitere Ressourcen

DataGrid-Steuerelement (Windows Forms)
Datenbindung in Web Forms
Zugreifen auf Daten (Visual Studio)