Textfelder in ein Datagridview schreiben?

  • VB.NET

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

    Textfelder in ein Datagridview schreiben?

    Hallo,

    Ich habe 2 Forms.

    form1 hat ein Datagridview(Tabelle HTZ) und textfelder die mir die daten anzeigen.(speichern, update und löschen funktioniert)

    form2 hat ebenfalls ein Datagridview(Tabelle Durchlauf) und ebenfalls textfelder. Die rows(spalten) sind in beiden Tabellen gleich.

    Mein problem: ich möchte von form1 aus mit einem button die textfelder inhalte an form2 in das datagridview schicken. ist das möglich? komme einfach nicht auf eine lösung.
    Möglich ist alles und das auch auf verschiedenen Wegen.

    Einfachster Weg wäre den Konstruktor von Form2 zu nutzen (Public Sub New()) und eine Werte-Übergabe darin einzurichten, z.B. die Übergabe der Reference auf ein DataGridView und aus diesem kannst Du dann die Daten auslesen und in das neue DataGridView übernehmen. Oder Du kannst auch gleich die Datenquelle (z.B. ein Recordset) übergeben dabei.

    Aber es erscheint mir erstmal unlogisch das man Daten die man bereits anzeigt in einer andere Anzeige übernehmen können soll. Wofür?

    Gruß

    Rainer
    Dann wäre die einfachste Lösung das Du die Daten-Quelle die Du in das DataGridView in Form1 schreibst an das neue Form2 über den Constructor New übergibst. Entweder auf den anzuzeigenden DS bereits gebookmarked oder mit Zeiger-Parameter damit Form2 weiss welche Datensätze es anzeigen soll oder Du übergibst gleich eine gefilterte Daten-Quelle und in Form2 werden dann nur noch die gefilterten Daten angezeigt.

    Gruß

    Rainer
    danke erstmal für deine ideen=)

    kann ich nicht auch direkt die textfeldinhalte an die datenbank(tabelle durchlauf) senden?

    oder mithilfe von den textfeldern auf form1 das datadridview auf form2 mit den rows ansprechen

    Hillen schrieb:

    danke erstmal für deine ideen=)


    Gerne. ;)

    Hillen schrieb:

    kann ich nicht auch direkt die textfeldinhalte an die datenbank(tabelle durchlauf) senden?


    Ja klar, natürlich. ;) Aber wie das geht, das ist natürlich extrem abhängig von der Art der Verbindung zur DB, bzw. welches Objekt-Modell Du in VB.NET verwendest. Arbeitet z.B. das DataGrid mit einer Bindung an eine Datenquelle?

    Hillen schrieb:

    oder mithilfe von den textfeldern auf form1 das datadridview auf form2 mit den rows ansprechen


    Alls kein Problem ... sofern Du die Datensätze wie es sich gehört mit Unique Identifiern ausgestattet hast und diese auch mit in die DataGrids eingelesen hast (z.B. in einer ausgeblendeten Spalte).

    Dann musst Du zwischen den Forms nur noch die ID's austauschen damit die eine Form von der anderen Form weiss auf welchen Eintrag sie zeigt.

    Hierfür kannst Du auch mit Event-Handling arbeiten das bei einem click oder einer sonstigen gewünschten Aktion ein Event feuert das die andere Form abhorcht und darüber mitgeteilt bekommt welche ID gerade gewählt wurde.

    Wobei sich mir Dein Vorhaben immer noch nicht erschliesst. So wie es aussieht stellst Du in Form1 im DGV Datensätze zur Bearbeitung zur Verfügung und per Klick soll der User dann ausgewählte Datensätze im DGV in Form2 angezeigt bekommen ... aber wofür das ganze? Reicht dafür nicht eine Filterfunktion im DGV von Form1 das dort dann nur die markierten Datansätze angezeigt werden aus?

    Gruß

    Rainer