id Transparent übergeben in Combobox

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von habunus.

    id Transparent übergeben in Combobox

    Hallo,

    wie stelle ich es an das die id Transparent übergeben wird in das Comboboxfeld ohne das man die id sieht?
    Es soll nur Vorname und Nachname zu sehen sein.

    VB.NET-Quellcode

    1. cmd.CommandText = "select id,vorname,nachname from kunden"
    2. Try
    3. reader = cmd.ExecuteReader()
    4. Do While reader.Read()
    5. ComboBoxAnrufslisteTelangenommen.Items.AddRange((New Object() {reader.Item("vorname") & " " & reader.Item("nachname")}))
    6. ComboBoxAnrufslisteanruffuer.Items.AddRange((New Object() {reader.Item("vorname") & " " & reader.Item("nachname")}))
    7. Loop
    8. reader.Close()
    9. Catch myerror As MySqlException
    10. MsgBox(myerror.Message)
    11. End Try


    Danke im Voraus.

    Habunus
    eine Liste mitfüllen mit den IDs und dann den Index der Combobox zum Auslesen nehmen ;)
    oO ? ... einfach eine globale Variabel vom Typ List(Of Integer) und dann immer wenn du die Items der Combobox veränderst die Liste auch verändern (also Add, Remove, Clear, ...) und wenn du etwas aus der Combobox auslesen willst die ID dann mit Variable(Combobox.SelectedIndex) rausholen ;)

    VB.NET-Quellcode

    1. Public IDs As New List(Of Integer)
    2. ' beim hinzufügen der Anrufer/Abnehmer
    3. IDs.Add(CInt(reader("id"))) ' du brauchst übrigends kein AddRange
    4. ' um ID rauszufinden
    5. IDs(Combobox.SelectedIndex)
    Das heißt also

    VB.NET-Quellcode

    1. Try
    2. reader = cmd.ExecuteReader()
    3. Do While reader.Read()
    4. IDs.Add(CInt(reader("id")))
    5. ComboBoxAnrufslisteTelangenommen.Items.AddRange((New Object() {reader.Item("vorname") & " " & reader.Item("nachname")})) 'Dropdown füge Vorname und Nachname ein
    6. ComboBoxAnrufslisteanruffuer.Items.AddRange((New Object() {reader.Item("vorname") & " " & reader.Item("nachname")})) 'Dropdown füge Vorname und Nachname ein
    7. Loop
    8. reader.Close()
    9. Catch myerror As MySqlException
    10. MsgBox(myerror.Message)
    11. End Try


    und auf die IDs könnte ich dann z.b.: eine msgbox machen zum Testen ?

    Habunus
    teste doch einfach und wenns Fehler gibt meldeste ihn ;)
    Hallo Mangafreak1995,

    also so wie es soll geht es noch nicht hier mal der Code:

    VB.NET-Quellcode

    1. Imports MySql
    2. Imports MySql.Data
    3. Imports MySql.Data.MySqlClient
    4. Imports MySql.Data.Types.MySqlConversionException
    5. Imports System
    6. Imports Microsoft.Win32
    7. Imports System.Security.Cryptography
    8. Imports System.Text
    9. Imports System.Net
    10. Imports System.Net.Mail
    11. Imports System.IO
    12. Public Class anrufsliste
    13. Public IDs As New List(Of Integer)
    14. Dim aktuelles_jahr As String = Date.Today
    15. Dim aktuelle_zeit As String = TimeOfDay
    16. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    17. Close() 'Fenster schließen
    18. End Sub
    19. Private Sub anrufsliste_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    20. ComboBoxAnrufslisteAnrede.SelectedIndex = 0
    21. Dim cmd As New MySqlCommand
    22. Dim reader As MySqlDataReader
    23. cmd.Connection = mysql_con.conn
    24. cmd.CommandText = "select id,vorname,nachname from kunden where userlevel=1 or userlevel=2"
    25. Try
    26. reader = cmd.ExecuteReader()
    27. Do While reader.Read()
    28. IDs.Add(CInt(reader("id"))) ' du brauchst übrigends kein AddRange
    29. ComboBoxAnrufslisteTelangenommen.Items.AddRange((New Object() {reader.Item("vorname") & " " & reader.Item("nachname")})) 'Dropdown füge Vorname und Nachname ein
    30. ComboBoxAnrufslisteanruffuer.Items.AddRange((New Object() {reader.Item("vorname") & " " & reader.Item("nachname")})) 'Dropdown füge Vorname und Nachname ein
    31. MessageBox.Show(IDs(0))
    32. Loop
    33. reader.Close()
    34. Catch myerror As MySqlException
    35. MsgBox(myerror.Message)
    36. End Try
    37. End Sub
    38. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    39. MsgBox(IDs(0))
    40. Try
    41. Dim AnrufslisteAnrede As String = ""
    42. If ComboBoxAnrufslisteAnrede.SelectedIndex = 0 Then
    43. AnrufslisteAnrede = "Herr"
    44. ElseIf ComboBoxAnrufslisteAnrede.SelectedIndex = 1 Then
    45. AnrufslisteAnrede = "Frau"
    46. ElseIf ComboBoxAnrufslisteAnrede.SelectedIndex = 2 Then
    47. AnrufslisteAnrede = "Firma"
    48. End If
    49. Dim cmd As New MySqlCommand
    50. Dim reader As MySqlDataReader
    51. cmd.Connection = mysql_con.conn
    52. cmd.CommandText = ("Insert Into anrufsliste (anrede,vorname,nachname,strasse,plz,ort,tel,fax,email,gespraech_angenommen,angerufen_fuer,mail_senden,bemerkung,angerufen_datum,angerufen_zeit) VALUES ('" & AnrufslisteAnrede _
    53. & "','" & TextBoxAnrufslisteVorname.Text _
    54. & "','" & TextBoxAnrufslisteNachname.Text _
    55. & "','" & TextBoxAnrufslisteStrasse.Text _
    56. & "','" & TextBoxAnrufslistePlz.Text _
    57. & "','" & TextBoxAnrufslisteOrt.Text _
    58. & "','" & TextBoxAnrufslisteTel.Text _
    59. & "','" & TextBoxAnrufslisteFax.Text _
    60. & "','" & TextBoxAnrufslisteEmail.Text _
    61. & "','" & ComboBoxAnrufslisteTelangenommen.SelectedItem _
    62. & "','" & ComboBoxAnrufslisteanruffuer.SelectedItem _
    63. & "','" & CheckBoxAnrufslisteMailversand.Checked _
    64. & "','" & TextBoxAnrufslisteBetreff.Text _
    65. & "','" & aktuelles_jahr _
    66. & "','" & aktuelle_zeit & "') ")
    67. reader = cmd.ExecuteReader()
    68. reader.Close()
    69. Catch myerror As MySqlException
    70. MsgBox(myerror.Message)
    71. End Try
    72. MsgBox("Telefoeintrag wurde erfolgreich gespeichert")
    73. End If
    74. '###############################################################
    75. End Sub
    76. End Class


    Wenn ich nun bei Private Sub Button1_Click IDs(0) ausgebe habe immer nur die erste IDS von dem ersten User. Denke diese wird überschrieben dur die While Schleife. Wie könnte ich das verbessern damit ich alle IDs bekomme.

    Vielen Dank

    Habunus
    du musst natürlich 0 verändern ^^ 0 => 1. Element