none
DataGridView nachträglich formatieren RRS feed

  • Frage

  • Hallo!

    Zunächst einmal meine Situation: Ich habe eine DataGridView in der, nachdem ich in einer anderen DataGridView ein Team ausgewählt habe, die Teammitglieder angezeigt werden. Diese Teammitglieder kommen aus mehreren Datenbanktabellen. Deshalb baue ich mir manuell per Code eine DataTable auf, in die ich die einzelnen Teammitglieder durch Hinzufügen neuer DataRows in die besagte DataTable fülle. Wenn diese DataTable dann fertig erstellt worden ist, setze ich die DataSource-Eigenschaft der DataGridView auf die DefaultView jener DataTable. Es klappt auch alles wunderbar, die Daten werden alle richtig angezeigt.

    Allerdings habe ich jetzt das Problem, dass ich die einzelnen Spalten dieser DataGridView nicht mehr formatieren kann (z.B. Spaltenbreiten bestimmen, ToolTipText setzen, HeaderText etc...). Wenn ich folgendes versuche:

     

    dgvMitgliederUebersicht.Columns["Status"].Width = 120;
    

     


    dann kommt folgende Fehlermeldung beim Laden:

    "System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." ...

    Könnt ihr mir Tipps geben, wie ich dieses Problem nun umgehen kann?

    Vielen Dank schonmal und viele Grüße!

    Marco

     

    P.S.: Wenn ich vorher schon alle Spalten mit den entsprechenden Formatierungen deklariere und dann die DataTable als DataSource festlege, dann erscheinen in der DataGridView leider alle Spalten zweimal, also die Spalten aus der DataTable werden einfach neben den schon existierenden hinzugefügt (natürlich ohne die entsprechenden Formatierungen). Dieser Weg (also erst Spalten deklarieren und dann die Werte aus der DataTable einfügen) wäre mir allerdings lieber, wenn er irgendwie geht.


    • Bearbeitet swimagers Dienstag, 1. November 2011 08:14
    Dienstag, 1. November 2011 08:09

Antworten

  • Habe die Lösung nun schon selbst gefunden: Ich habe bei der Spaltendeklaration der DataGridView für die Spalten nicht die Eigenschaft .DataPropertyName gesetzt, deshalb konnten die Spalten der Tabelle damit nicht in Verbindung gebracht werden.
    • Als Antwort markiert swimagers Mittwoch, 2. November 2011 15:03
    Mittwoch, 2. November 2011 15:03