Fehler bei DGV mit ComboBox

  • .NET 4.5
  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von GünterD.

    Fehler bei DGV mit ComboBox

    Moin Moin,

    ich habe mal wieder ein Problem und kommen trotz verschiedener Recherchen nicht weiter.
    In einer Anwendung habe ich mehrere Forms und in den Forms teilw. verschiedene DGV, die an DataSets aus einer MSSQL-DB gebunden sind.
    Nur in einer dieser Forms erhalte ich in allen dortigen DGVs eine Fehlermeldung (siehe Anlage), wenn DGV-Cmbs gefüllt werden.

    Bestätige ich die Meldung solange bis alle Cmbs in den DGVs gefüllt sind, stehen die DataProperty-Werte und nicht die Display-Member-Werte drin.
    Mir ist noch aufgefallen, dass die Fehlermeldung auch dann erscheint, wenn ich bei gfülltem DGV mit der Maus über eine Cmb-Spalte fahre.

    Ohne Cmb in den DGVs läuft alles ohne Fehler.
    Wie schon oben erwähnt, habe ich das Problem nur in einer Form!
    Ich muss nach meiner EInsatzüng irgendetwas in dieser Form haben was quer liegt.

    Es wäre toll, wenn einer von euch eine Tipp hätte, wie ich weiter vorgehen könnte.

    Gruß
    Günter

    *Topic verschoben*
    Bilder
    • Cmb-Meldung.jpg

      62,65 kB, 359×224, 2 mal angesehen
    Gruß Günter

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Das passiert immer dann, wenn die ComboBox-Spalteneinstellungen nicht zur DGV-Zeile passen. Im DGV werden ja Tabellenzeilen angezeigt. Das führt bei einigen Tabellen dazu, dass man z.B. eine Foreign-ID drinstehen hat. So eine ID ist hässlich, da nichtssagend. Nun kann man eben dem WinForms-Designer klarmachen: »Nimm die ID, schau in einer anderen Tabelle nach dieser ID und sobald Du in der anderen Tabelle die ID in einer Tabellenzeile gefunden hast, nimm von dieser Tabellenzeile eine andere Property und zeig diese an.« Dazu muss aber die 2. Tabelle auffindbar sein, z.B. über eine BindingSource korrekt vorliegen und die Propertys DisplayMember und ValueMember müssen korrekt eingestellt sein. Notfalls musst Du vom DGV das DataError-Event mit nem EventHandler abonnieren und schauen, was im Parameter e als konkretes Problem gemeldet wird.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Moin Moin VaporiZed,

    danke für die Hinweise, aber so richtig komme ich nicht weiter.
    Ich habe einen DataError-Event angelegt und bekomme folgende Meldung
    e.context = Formatting Or Display {3}

    Schaue ich mir die "verküpften" Felder in DGV und der Cmb-Tabelle, haben sie in beiden Fällen das gleiche Format (int32).
    Bei der Cmb steht Resiziable = true.
    In der zugehörigen DGV-Spalte gibt es auch keine "NULL"-Werte.
    Ein SQL-Script (join) funktioniert ohne Probleme.

    Irgendwie bin ich vermutlich auf dem Holzweg.

    Hättest du noch einen Tipp?

    Gruß Günter

    Habe den Fehler gefunden!!! :thumbsup:
    --> Vergessen in ValueMember die ID einzutragen!!!!!!!!!!!!
    ;(
    Gruß Günter

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „GünterD“ ()