Visualizzazione dei risultati da 1 a 7 su 7

Discussione: DropDownList

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    69

    DropDownList

    Salve,
    qualcuno potrebbe dirmi come si fa a far si che una dropdownlist con autopostback mi ricarichi solo le voci indicizzate dell'elenco una volta sola per ogni invio della pagina?
    Io avevo inserito nella Page_Load questo:

    miaDropDownList.Items.clear()

    però per ogni autopostback mi ricarica si solo le voci presenti una sola volta, ma riazzera la listbox posizionandola al valore con indice più basso e non su quello scelto dall'utente.
    Ciao

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    devi stare attendo al postback if page.ispostback=false carichi tutto la prima volta.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    69
    codice:
    ci sto provando ma ancora non ho risolto, questo è il codice che ho già scritto, provaci tu....Ciao
    
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            
            If Page.IsPostBack = False Then
                
                Mostra_Categorie()
                lsbNewsImg.Items.Clear()
            
            Else
    .................cosa scrivo qua!!!............
                
            End If
    
        End Sub
    
    
    Public Sub Mostra_Categorie()
            
            Dim connectionString As String = ConfigurationSettings.AppSettings("ConnectionString")
            Dim query As String = "SELECT CategoriaID, Nome FROM Categorie"
            Dim conn As New OleDb.OleDbConnection(connectionString) 
            Dim cmd As New OleDb.OleDbCommand(query, conn) 
            Dim reader As OleDb.OleDbDataReader 
            Try
                conn.Open() 
                reader = cmd.ExecuteReader 
                Dim i As Byte
                While reader.Read
                    dplCategorieImg.Items.Add(reader("Nome"))
                    dplCategorieImg.Items(i).Value = reader("CategoriaID")
                    i += 1
                End While
    
                reader.Close()
    
            Catch ex As Exception
                lblErrore.Text = "Errore rilevato: " & ex.Message
            End Try
    
            If Not conn Is Nothing Then
                conn.Close() ' chiudo la connessione
            End If
    
        End Sub

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    allora al caricamento per la prima volta della pagina carichi il tutto,se poi tra i postback non ti server ricreare le varie voci e riempire di nuovo tutto all'else nn fai nulla.

  5. #5
    Non e' piu' belloccio cosi? (occhio a eventuali errori di battitura)
    codice:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            
            If Not Page.IsPostBack Then            
                Mostra_Categorie()
            End If
    
        End Sub
    
    Public Sub Mostra_Categorie()
    dim dap as new OleDb.OledbDataAdapter("SELECT CategoriaID, Nome FROM Categorie", ConfigurationSettings.AppSettings("ConnectionString"))
    dim dt as new datatable
    dap.fill(dt)
    dplCategorieImg.datasource = dt
    dplCategorieImg.databind
    end sub
    edit
    p.s. ricorda di impostare nella dropdownlist le proprieta' DataValueField e DataTextField con i relativi nomi delle colonne
    Saluti a tutti
    Riccardo

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    69
    Grazie riccardone funziona!
    Ciao

  7. #7
    e invece di questa versione cosa ne dici?
    codice:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            
            If Not Page.IsPostBack Then            
                dplCategorieImg.databind
            End If
    
        End Sub
    
    Public Function Categorie() as DataTable
    dim dap as new OleDb.OledbDataAdapter("SELECT CategoriaID, Nome FROM Categorie Order By Nome", ConfigurationSettings.AppSettings("ConnectionString"))
    dim dt as new datatable
    dap.fill(dt)
    return dt
    end sub
    p.s. imposta nella dropdownlist anche la proprieta' DataSource = Categorie
    Saluti a tutti
    Riccardo

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.