DatagridviewComobobox - Selected Value auslesen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von rrobbyy.

    DatagridviewComobobox - Selected Value auslesen

    Hallo zusammen,

    ich teste gerade ein paar Dinge mit dem Datagridview, laden, lesen, speichern, etc.

    In meinem Fall lade ich aus einer Linq-SQL-Klasse (von einem MSSQL Server) ein paar Daten in ein Datengrid. Das ist ja recht einfach und funktioniert.

    VB.NET-Quellcode

    1. Dim Package As New DataClasses1DataContext
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. Dim pack = From Packages In Package.VORGPOSPACKAGE
    4. Select Packages.ID, Packages.PACKAGENO
    5. dgv.DataSource = pack
    6. End Sub


    Jetzt möchte ich in das datagridview eine weitere Spalte als Combobox erstellen und gleichzeitig ein paar Daten laden, also:

    VB.NET-Quellcode

    1. Dim typ As New DataGridViewComboBoxColumn
    2. With typ
    3. .name = "PackTyp"
    4. .HeaderText = "Typ"
    5. Dim Packtypen = From Typen In Package.VORGPOSPACKAGETYPE
    6. Order By Typen.PACKAGETYPE
    7. .DataSource = Packtypen
    8. .DisplayMember = "PACKAGETYPE"
    9. .ValueMember = "ID"
    10. End With
    11. dgv.Columns.Add(typ)


    funktioniert auch alles, wie es soll.

    Nur wie bekomme ich jetzt den selectedValue-Wert der marktierten Zeile und des gewählten Combobox-Wertes?

    ich habe bereits versucht, was nicht läuft

    VB.NET-Quellcode

    1. 'hier kommt die Meldung dass eine datagridviewTextboxcell nicht zu einer datagridviewcomboboxcell umgewandelt werden kann..warum auch immer das ding meint, es wäre eine textboxcell...
    2. For Each row As DataGridViewRow In dgvPackages.Rows
    3. If Not row.IsNewRow Then
    4. Dim pt As DataGridViewComboBoxCell = DirectCast(dgv.Item("PackTyp", row.Index), DataGridViewComboBoxCell)
    5. .
    6. .


    auch das einfache funktioniert nicht.

    VB.NET-Quellcode

    1. val = dgv.Rows(row.Index).Cells(dgvPackagesColsPackType).Value)


    jemand eine idee? Es kann doch eigentlich nicht schwierig sein, den selectedvalue auszulesen.
    ich könnte mich beissen...ich hatte (aus irgendwelchen Gründen) ein Spalte, die genauso hieß, die natürlich eine datagridviewtextboxcell war.

    wenn das stimmt ist es natürlich einfach:

    VB.NET-Quellcode

    1. dim cbo as DataGridViewComboboxCell = DataGridview1.rows(row.index).cells("NamederSpaltemitderCombobox")
    2. dim val = cbo.value

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