Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.Net 2005] Popolare dinamicamente una combobox da codice


    Come da oggetto, ho la necessità di popolare una combobox dinamicamente prendendo i dati da un db ma devo farlo da codice poiché uso la versione express e non posso creare un'oggetto usando la connessione via odbc.

    Sono riuscito ha eseguire parte del mio percorso ma credo mi sfugga un dettaglio perché riesco a popolare la combo box ma risulta popolata con l'ultimo elemento della collezione.
    Il codice è questo:

    Classe che identifica il tipo:
    codice:
    Public Class tipologia
        Private id_tipologia As String
        Private descrizione_tipologia As String
    
        Property tipologia() As String
            Get
                Return id_tipologia
            End Get
            Set(ByVal value As String)
                id_tipologia = value
            End Set
        End Property
    
        Property descrizione() As String
            Get
                Return descrizione_tipologia
            End Get
            Set(ByVal value As String)
                descrizione_tipologia = value
            End Set
        End Property
    End Class
    Sub per caricare la combo:
    codice:
    Private Sub ftmAttivazioneTF_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim coll As New Collections.Generic.List(Of tipologia)
            Dim tipo As New tipologia()
    
            sql = "select id_tipo_elaborazione,descrizione from cen_tipi_elaborazione order by  id_tipo_elaborazione"
            bind() 'metodo per popolare un DataTableReader nominato dr
            While (dr.Read())
                tipo.tipologia = dr("id_tipo_elaborazione")
                tipo.descrizione = dr("descrizione")
                coll.Add(tipo)
            End While
    
            cmbTipologia.DataSource = coll
            cmbTipologia.DisplayMember = "descrizione"
            cmbTipologia.ValueMember = "tipologia"
    
    
        End Sub
    il risultato è una combobox con 17 elementi ma tutti con chiave e valore relativi all'ultimo elemento della lista.

  2. #2


    Trovato sono un pesce.. ecco il codice corretto:

    codice:
     
    Private Sub ftmAttivazioneTF_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim coll As New Collections.Generic.List(Of tipologia)
            Dim tipo As New tipologia()
    
            sql = "select id_tipo_elaborazione,descrizione from cen_tipi_elaborazione order by  id_tipo_elaborazione"
            bind()
            While (dr.Read())
                tipo = New tipologia() 
                tipo.tipologia = dr("id_tipo_elaborazione")
                tipo.descrizione = dr("descrizione")
                coll.Add(tipo)
            End While
    
            cmbTipologia.DataSource = coll
            cmbTipologia.DisplayMember = "descrizione"
            cmbTipologia.ValueMember = "tipologia"
    
    
        End Sub

  3. #3
    stavo per scrivertelo... un'altra cosa da fare è cambiare la prima dichiarazione
    codice:
    Dim tipo As New tipologia()
    in
    codice:
    Dim tipo As tipologia()
    I database... la mia passione + o -

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.