Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [NET] valuemember del combobox

    Stò impazzendo nel riuscire a trovare il modo di recuperare il mio id_categoria della categoria visualizzata in un combo_box.
    Per quanto riguarda il display_member tutto funziona.
    Il codice che ho usato è questo:

    Dim objtabella As DataTable
    objtabella = objdataset.Tables("categorie")

    cmbcatpadre.BeginUpdate()
    cmbcatpadre.DataSource = objtabella
    cmbcatpadre.DisplayMember = "categoria"
    cmbcatpadre.ValueMember = "id_categoria"
    cmbcatpadre.EndUpdate()
    hon un pulsante ho fatto una prova per vedere i valori recuperati

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim categoria As String = cmbcatpadre.Text
    label categoria = categoria
    Ma sarà..... ma io ci credo poo....

  2. #2

    up

    up
    Ma sarà..... ma io ci credo poo....

  3. #3
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    devi recuperare la proprietà value della combo

  4. #4

    si ci

    sono riuscito dopo una grande fatica.
    Ora però ho un altro problema
    Invece di prendere i dati tramite un dataset in memoria volevo farlo con datareader.
    Sono arrivato fino qui ma non a visualizzarli nella combo:
    ti posto il codice:

    Dim sConn As String = "Driver=MySQL ODBC 3.51 Driver; Server=localhost;Database=hudson_ecommerce;dsn=hud son;uid=tomeidan;password=danieloni;"
    Dim SQL As String = "SELECT id_categoria, categoria FROM hudcom_categoria"
    Dim objConn As New OdbcConnection(sConn)
    Dim objCommand As New OdbcCommand(SQL, objConn)
    Dim objreader As OdbcDataReader 'Consente di iterare nel recorset
    'Dim objdataset As New DataSet()
    'Dim objdataadapter As New OdbcDataAdapter(sSQL, objConn)
    Try
    'Apertura connessione
    objConn.Open()
    Catch eccezione As System.Exception
    Windows.Forms.MessageBox.Show(eccezione.Message)
    End Try
    'Se lo stato della connessione è open
    If objConn.State = ConnectionState.Open Then
    objreader = objCommand.ExecuteReader
    While objreader.Read
    cmbcatpadre.DataBindings.Add("text", "id_categoria", objreader.GetString(1))
    'cmbcatpadre.DataBindings.Add("text)
    End While
    End If

    IN poche parole come faccio a iterare i dati nella combo con objreader

    Grazie ciao
    Ma sarà..... ma io ci credo poo....

  5. #5

    up

    up
    Ma sarà..... ma io ci credo poo....

  6. #6

    sono riuscito

    con il seguente modo
    a inserire valori nella combo con connessione aperta facendo così ma il valuemember non mi funziona più

    Do While objreader.Read 'sposta al record successivo
    cmbcatpadre.ValueMember = objreader("id_categoria")
    cmbcatpadre.Items.Add(objreader("categoria"))'inse risce tutte le categorie del database nella combo"
    Loop

    I valori li recupero per prova con un pulsante e le label così:

    lbl_id.Text = cmbcatpadre.SelectedValue
    lbl_catinserita.Text = cmbcatpadre.SelectedItem

    MA IL VALORE CATEGORIA ME LO PASSA MENTRE L'ID NO......
    :master: :master:
    Ma sarà..... ma io ci credo poo....

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    devi crearti un oggetto contenitore dati (ArrayList, HashTable, DataTable, DataSet, Sturcture con proprietà) da caricare con i dati e poi settare la DataSource della combo all'oggetto contenitore dati e le proprietà DisplayMember e ValueMember alle proprietà o campi della DataTable/DataSet

  8. #8

    scusa

    mi sono spiegato male.
    Con una connessione aperta usanto datareader posso recuperare il valuemember della mia combo esattamente come faccio con il dataset.
    il problema è che non riesco a fargli prendere il valore.
    Potresti farmi un esempiop con array_list:

    io ho fatto così ma non sò come procedere::

    Dim array As New ArrayList()
    array.Insert(objreader("id_categoria"), objreader("categoria"))
    'fine listarray
    cmbcatpadre.Text = "Seleziona la categoria..." ' selezione iniziale da riguardare non ammissibile
    Do While objreader.Read 'sposta al record successivo
    cmbcatpadre.SelectedValue = objreader("id_categoria")
    cmbcatpadre.Items.Add(objreader("categoria")) 'inserisce tutte le categorie del database nella combo"
    Loop
    Ma sarà..... ma io ci credo poo....

  9. #9
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    codice:
        Private Structure sDatiCombo
            Dim _id As String  'o il tipo dati che ti serve
            Dim _val As String 'o il tipo dati che ti serve
     
            Public Sub New(ByVal id As String, ByVal val As String)
                _id = id
                _val = val
            End Sub
            Public ReadOnly Property ID() As String
                Get
                    Return _id
                End Get
            End Property
            Public ReadOnly Property VAL() As String
                Get
                    Return _val
                End Get
            End Property
        End Structure
    
    
        Private Sub RiempiCombo
            Dim oDatiCombo As sDatiCombo
            While TuoReader.Read
                oDatiCombo = New sDatiCombo(TuoReader.CampoID, TuoReader.CampoDesc)
            Next
            Whith TuaComboBox
               .DataSource = oDatiCombo
               .DisplayMember = "VAL" 'il nome della propietà che restituisce il valore della struttura
               .ValueMember = "ID" 'il nome della propietà che restituisce l'id della struttura  
        End Sub

  10. #10

    grazie

    provo poi ti so dire
    Ma sarà..... ma io ci credo poo....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.