DataGridView Spalte zur Laufzeit Datasource ändern

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Lord Luxor.

    DataGridView Spalte zur Laufzeit Datasource ändern

    Neu

    Hallo,
    wie kann ich denn den Datasource einer Column während der Laufzeit ändern? Ich finde da irgendwie nicht hin.

    Bye
    Markus
    8-Bit Nerd - Retro-Computer Junkie - Elektronik-Fuzzi - Lötkolben-Jongleur
    Lord Luxors Retrogalerie llrg.me

    Neu

    @Lord Luxor Ein DataGridView kann eine DataSource haben, z.B. eine DataTable.
    Die Spalten des DataGridView ergeben sich daraus.
    Wenn Du nur eine Spalte ändern willst, erstell eine entsprechende neue DataTable und weise diese dem DGV als DataSource zu.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Neu

    Erklär mal bitte etwas ausführlicher, was Dein Plan ist. Denn man kann einer ComboBoxColumn auch eine DataSource zuweisen. Aber ob es das ist, was Du willst?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Neu

    Ja ich war nicht konkret genug. Genau ich will den Foreign-Key Kategorie der Tabelle, die ich im Datagridview darstelle, mit einer ComboboxColumn als Klartext aus einer Hilfstabelle darstellen.
    Soweit funktioniert es. Mein Problem ist jetzt aber, es gibt zwei Möglichkeiten, nach welchem Schema diese eine Spalte gefüllt wird, einmal mit 3 Kategorien, oder mit 4 Kategorien.

    Meine Idee war nun, wenn der Benutzer sagt, er möchte mit 3 Kategorien arbeiten, dann lese ich die Hilfstabelle mit 3 Kategorien aus und stelle den indizierten Klartext in der ComboboxColumn dar. Will er 4 Kategorien switche ich in der ComboboxColumn zu der anderen Datasource (Hilfstabelle) und stelle hier die 4 indizierten Kategorien im Klartext dar.

    Ich kann hier leider nicht statisch arbeiten, weil der Benutzer auch die Möglichkeit hat, die Kategorien selbst zu bestimmen, daher werden diese in den beiden Tabelle dargestellt. Aus Berechnungsgründen muss der Index auch immer bei 1 beginnen, da sich aus diesem eine Kennzahl errechnet, sonst hätte ich das alles in eine Tabelle packen können.

    Alternativ könnte ich das in eine Tabelle packen und eine weitere Spalte mit einer Pseudo-ID erstellen, mit der gerechnet wird, aber ich fände es so mit dem Switchen irgendwie eleganter.

    Bye
    Markus
    8-Bit Nerd - Retro-Computer Junkie - Elektronik-Fuzzi - Lötkolben-Jongleur
    Lord Luxors Retrogalerie llrg.me

    Neu

    Probier es. Caste die Ziel-Column in eine DataGridViewComboBoxColumn, dann kannst Du die DataSource dafür im Code festlegen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Neu

    Hi VaporiZed,
    ich habe es versucht zu verstehen, kam aber nicht zu streich. Ich habe das jetzt mit einem zweiten DGV gelöst und switche zwischen den beiden. Die andere Lösung, da fehlt mir dann doch noch etwas Wissen um das umzusetzen.
    Danke Dir aber, ich halte das im Hinterkopf.

    Bye
    Markus
    8-Bit Nerd - Retro-Computer Junkie - Elektronik-Fuzzi - Lötkolben-Jongleur
    Lord Luxors Retrogalerie llrg.me