DataGridView

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Vatter.

    DataGridView

    Hi,

    ich habe folgendes Problem:

    ich habe eine kleine Datenbank mit 2 tabellen.

    diese datenbank ist mit DataGridView in einem kleinem Programm.
    ich möchte das mir der Inhalt von beiden Tabellen im DataGridView angezeigt werden.
    leider funktioniert das nicht ganz.



    also in den Textboxen wird es ja angezeigt nur nicht im DataGridView!
    ich komme einfach nicht weiter.wie bekomme ich es hin, das mir beide tabellen in selben Datagridview zur gleichen zeit angezeigt wird?
    Tabelle 1: Aufgaben| Tabelle 2: Status

    siehe weiteres Bild:



    Danke im Voraus

    Mit freundlichen Grüßen

    Chris :)
    Du willst sicherlich den Status der Aufgaben wissen stimmts ??

    Dann würde ich in der Tabelle "Aufgaben" 2 Spalten machen die ich "Aufgabe" und "Status" nennen würde.

    Dann das ganze Auslesen lassen und siehe da, beide Werte aus beiden Spalten sind in deinem DGV

    Ich persönlich machs immer auf die von mir beschriebene Variante da die Variante einfach und efektiv ist.

    Ansonsten musst du (wenn ich mich nicht irre) einen Adapter verwenden

    user2100 schrieb:

    ja genau. aber die sache ist die, das beide tabellen in einer 1:n Beziehung verbunden sind.

    Für diese Verknüpfung muss es doch ID-Spalten gebn:
    Also Tabelle Aufgaben enthält Name, Aufgabe, ID_Status
    Tabelle Status enthält ID, Datum, Anzahl
    Es gibt dann eine 1:n Beziehung zwischen AufgabenTbl_ID_Status und StausTbl_ID, also in jeder Aufgabenzeile gibs nen Verweis auf einen Datensatz der Status-Tabelle.
    Ziehst du nu die Aufgabentabelle als DGV aufs Form, hast du alle 3 Spalten der Aufgabentabelle. Das ist Schritt 1.

    Nun gehst du in Spalten bearbeiten und baust aus der Spalte ID_Status eine Comboboxcolumn. Die bekommt zusätzlich Datasource-, Datamember- und Datavalue-Eigenschaft. Inne Datasource klickerste dich zu weitere Projektabellens (weiß jetz nichmehr genau wie das heißt) durch, Datamember bezeichnet den Wert, der angezeigt werden soll (also z.B. Tabelle Status: Datum), Datavalue bezeichnet den Wert, welcher der Zahl in der Aufgabentabelle entspricht, also Tabelle Status: ID.
    Dann machst du (weiter oben im Eigenschaftengrid) den Combobox-Style auf None (sieht dann aus wie ein Textfeld). Nun hast du Name, Aufgabe und Datum nebeneinander stehen.

    Im nächsten Schritt fügst du (unter Spalten bearbeiten eine neue (zunächst ungebundene) Spalte als Combobox-Column hinzu und stellst die wie oben beschrieben ein, aber Datamember auf Anzahl. damit hast du alle Spalten verfügbar.

    Fiel Fergnügen
    Vatter

    Übrigens: Schöne Übung dafür findste bei Erfinder des Rades (4 Views)
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    danke für die hilfreichen Antworten :)

    bei einer sache benötige ich ebenfalls noch etwas hilfe.

    damit ich im Datagridview schneller bestimmte einträge finde, habe ich ein Suchen Button und eine textbox in der ich wörter eingebe wie zb. einen name sobald ich auf den suchen button klicke soll der eingegebene text (textbox) im Datagridview markiert sein bzw. ausgewählt sein. leider komme ich hier nicht weiter.

    hier habe ich schonmal einen versuch gestartet der aber leider nicht funktioniert:

    VB.NET-Quellcode

    1. Dim bs as new BindingSource


    VB.NET-Quellcode

    1. Private Sub txtSuchen_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSuchen.TextChanged
    2. Dim pos As Integer
    3. pos = bs.Find("Name", txtSuchen.Text)
    4. If pos > -1 Then bs.Position = pos
    5. End Sub


    danke im voraus
    mfg chris :)