Zur Laufzeit erstelltes DataGridView an DataSet binden

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von MaThoPa1973.

    Zur Laufzeit erstelltes DataGridView an DataSet binden

    Hallo Leute,
    ich bin am Verzweifeln! Folgende Situation...

    Ich habe ein TableLayoutPanel (TLP), welches ist einzeilig/einspaltig im Designer ins Form gestellt habe und zur Laufzeit entsprechend der erforderlichen Wartelisten erweiter. Hier gehören jeweils ein schmales Feld, in dem dann der Name eingetragen wird, und ein hohes Feld in dem ein DataGridView (DGV) entsprechend zur Laufzeit eingefügt werden soll. Die Anpassung des TLPs funktioniert soweit einwandfrei, ebenso die Erstellung der Labels mit Eintrag der jeweiligen Namen zu dem diese Warteliste gehört.
    Ich habe es auch geschafft die DGVs entsprechend in die Felder darunter jeweils einzufügen aber entweder sie zeigen mir nichts an oder alle das selbe. Wie kann ich die zur Laufzeit erstellten DGVs an das DataSet und BindingSources (12 Stück habe ich im Form erstellt um diese generell zur Verfügung zu stellen. Im DataSet habe ich zudem bereits eine Abfrage erstellt um die Daten aus der Datenbank entsprechend zu filtern und im DGV, gefiltert nach dem jenigen für den diese Warteliste sein soll, anzuzeigen. Ziel ist es also, das DGV an das DataSet zu binden und so Zugriff auf die fertig konfigurierte Abfrage im DataSet zu erhalten. Doch hier scheitert es bis dato da alle DGVs dann die Datensätze anzeigen, die nur auf einen Mitarbeiter zutreffen.

    Ein bisschen zum Hintergrund: Ich bin Kundenbetreuer und die Telefonzentrale bombadiert uns entsprechend per Email mit Rückrufwünschen. Ziel ist, dass die Telefonzentrale nur noch die Rückrufwünsche in eine Datenbank eingibt, jeder Kundenbetreuer sieht nur seine Rückrufwünsche und die der Kollegen die er gerade Vertretung macht - das funktioniert soweit auch ganz prima. Doch für die Telefonzentrale will ich eben die Seite mit den bis zu 12 DGVs haben (je nachdem wie viele Kundenbetreuer offene Rückrufwünsche in der Liste stehen haben) je Kundenbetreuer ein DGV - so, dass die Telefonzentrale sieht, wie viele Rückrufe noch zu erledigen sind bevor der Kunde, der gerade in der Leitung ist, zurück gerufen werden könnte.

    Aber wie, zum Henker, kann ich die zur Laufzeit erstellten DGVs an das DataSet anbinden und die Abfrage entsprechend durchführen? Und wie kann ich dann im weiteren Verlauf einen Klick in einem zur Laufzeit erstellten DGV auswerten und mir den jeweiligen Rückruf nochmal in einer gesonderten Maske anzeigen lassen?

    Google und Co konnten mir bis dato leider nicht weiter helfen und gerade über das DGV mit seinen unzähligen Funktionen könnte man sicherlich ganze Bücher füllen - aber speziell zu dieser Thematik habe ich nichts finden können. Sicherlich könnte ich auch hingehen und die DGVs generell schon in der Form anlegen und bei Bedarf nur noch ein und ausblenden (nicht besonders schön aber am Ende wo möglich die einzige Möglichkeit :( ) Mein Ziel ist halt über das TLP bei wenigen Rückrufempfängern die DGVs entsprechend größer zu gestalten (Gruppierung: 1, 2, 2x2 für bis zu 4 Kundenbetreuer, 3x2 für bis zu 6 Kundenbetreuer, 3x3 für bis zu 9 Kundenbetreuer und 4x3 für biszu 12 Kundenbetreuer mit offenen Rückrufen).

    Ich danke vielmals für Eure Hilfe... ich werde langsam aber sicher ganz schön grau über diese Angelegenheit und ich weigere mich einfach nur die DGVs einzeln bei Bedarf einzublenden... ich will schließlich dazu lernen.

    Gruß
    Markus
    Schau dir ma die Datasource-Eigenschaft des Datagridview an. Das ist, denkich, was du suchen tust. Wobei ich dein Design vielleicht etwas anners gewählt hätt:
    Wie du schon erwähnt hast, alle DGV´s bereits anlegen und verdrahten, aber in ein FlowLayout-Panel legen. Wenn du dann eins mittendrin ausblendest (.visible=false), dann rutschen alle anneren um diese Position nach.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    man braucht niemals Controls dynamisch zu erstellen. Du solltest ein vernünftiges Datenmodell konzipieren, und das läßt sich dann auch leicht umsetzen.
    Herauskommen könnte für die Telefon-Zentrale ein ParentChild-View: Links die Kundenbetreuer, und wenn man einen anwählt, sieht man seine Rückruf-Wünsche.
    Über eine DataExpression kann man auch die Anzahl der Rückruf-Wünsche direkt im KundenBetreuer-DGV anzeigen.
    Hallo Leute,
    danke vielmals für die interessanten Denkanstöße. Die Sache mit dem FlowLayout klingt schonmal ganz interessant und wenn es die Sache dann doch so erleichtert wäre es prima. Habe ich zwar noch nicht mit gearbeitet aber den Ansatz werde ich mir mal genauer ansehen.

    Gruß
    Markus