Liste ausgeben und Variable an das folgende Form übergeben?

  • VB.NET

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

    Liste ausgeben und Variable an das folgende Form übergeben?

    Erstmal ein Hallo zusammen und wichtig zu erwähnen ... bin ein Newbie in VB...
    Ich versuche eine Windows Application zu erstellen die Daten aus einer MYSQL DB verwenden soll.

    Im Endeffekt soll daraus eine Verwaltungsoberfläche für einen Webshop werden.
    Datenbankanbindung, .dll etc da hab ich mich durchgewühlt und das passt eigentlich schon alles.

    Nun zu meinem Problem:

    Ich möchte z.B. die Kunden aus der DB holen und bei Doppelklick ein
    Formular öffnen das die Bearbeitung der Kundendaten ermöglicht.

    Hierzu müsste ich an das folgende Form die DB ID des Kunden übergeben (zumindest kenne ich das so aus der php Entwicklung...)

    Im Moment weise ich das Ergebniss der Abfrage einem DataGrid als Source
    zu, hier gibts jedoch eine Sache die mir nicht gefällt und eine die
    nicht richtig funktioniert.

    1. Ich muss immer die ID als Spalte mit ausgeben und dann umständlich
    auf z.B. Spalte1 in currentRow zugreifen um im folgenden Form die ID für
    die Abfrage zu haben.

    2. Das funktioniert aber immer nur einmal, also wenn ich einen
    Doppelklick auf eine Zeile im Datagrid mache gehts, schliesse ich das
    sich öffnende Form und Doppelklicke eine andere Zeile bekomme ich im
    folgenden Form keine Ausgabe.

    Gibt es eine Möglichkeit (hab nichts gefunden) wie ich die Ausgabe der
    Kundendaten besser lösen kann und die ID zuverlässig übergeben kann?

    Ich versuchs Mal anhand von PHP zu erklären... das kann ich wenigstens

    PHP-Quellcode

    1. while(count(sql_result)>=$i){
    2. echo "<li><a href='useredit.php?".$sql_result['user_id']."' target='_blank' >".$sql_result['user_name']."</a></li>";
    3. $i++;
    4. }

    Gibts sowas ? Oder hat jemand mir nen Tip woran es liegen könnte dass der Doppelklick auf das Grid immer nur einmal geht?
    Datenverarbeitung sollteman mit Databinding machen - typisiertes Dataset als Datenklassen sind dafür am besten geeignet.
    guggemol vier Views-Videos dazu. (Dass dein Datenabruf anners funzt als im Tutorial tut für die Databinding-getriebene Entwicklung nichts zur Sache)

    Die Arbeit über mehrere Forms hinweg erfordert ein besonderes Databinding, nämlich form-übergreifend.
    Dazu ist auf Viele DbSamples was dabei.
    Super, Danke!
    Das werd ich mir mal zu Gemüte führen und schauen ob ich da auf nen grünen Zweig komme.
    Zumindest weis ich (zumindest denk ich das) nun wonach ich suchen muss.

    Allerdings sieht das so aus als ginge es nur wenn ich die Datenquelle in das Projekt einbinde?

    Eigentlich hatte ich ein Form angedacht das beim ersten Aufruf die Zugangsdaten zum Server abfragt und in die My.Settings schreibt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nicson“ ()

    Datenquelle im Kontext von Databinding bedeutet was anneres. Damit ist nicht die Datenbank gemeint (oder eine Datei), sondern das typisierte Dataset, an das gebunden wird.

    Also "Datenquelle" im allgemeinen kann man entweder als "Datenzugriffs-Schicht" verstehen oder (im Databinding-Kontext) als DataBinding-Datenquelle.
    Databinding-Datenquelle sind geeignete Klassen, die Databinding unterstützen, und die beim Datenabruf vonne "richtigen" Datenqelle befüllt werden Weil an eine Datenbank kann man nicht binden.
    Diese Klassen müssen natürlich im Projekt enthalten sein - also das typisierte Dataset mit all seinen internen typisierten DataTables und DataRows.
    nö, zum Thema Databinding weißich leider keine Extra-Literatur, sonst hättich ja auch nicht so viele Tuts dazu gemacht.

    Ich täte dir zunächstmal was einfacheres empfehlen als gleich formübergreifendes Databinding.

    Mach die Bearbeitung der KundenDetails aufs selbe Form und alles ist einfach. Gugge DetailView inne vier Views-Videos.
    Datenbank erstmal weglassen, sondern das typDataset direkt von Platte befüllen.