Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    listbox con campo vuoto

    ho una listbox caricata come segue:
    lbProdotti.DataSource = ds.Tables("Prodotti").DefaultView
    DataBind()

    c'è un modo per far comparire come prima voce un campo vuoto o un trattino (senza inserirlo nel db ovviamente)?

    Grazie Elisa

  2. #2
    ci sono diversi modi, te ne propongo 1 perchè dell'altro (più figo) non mi ricordo bene la sintassi
    Allora, tu avreai una query per tirarti fuori il datatable prodotti , giusto ?

    supponiamo sia select id_prod, nome_prod form prodotti

    che poi id_prod lo associ al value della ddl
    mentre nome_prod diventa il text della ddl

    questa query la trasformi in

    0 as id_prod, '-' as nome_prod union id_prod, nome_prod form prodotti

    prova così
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti propongo anch'io una soluzione che utilizzo sempre e mi pare buona.
    In primis, visto che caricare una lista da un database è un problema ricorrente ti suggerisco di farti una funzione pubblica in un modulo, se sei in basic, o un metodo statico in una classe se sei in c#.

    Questo metodo prende per esempio come parametri, il ListControl, la stringa di connessione, l'istruzione sql per popolarlo, il nome del campo che deve essere visualizzato, il nome del campo per popolare il value della lista, un ListItem da aggiungere alla lista.

    fatto questo, dentro il gestore di errore, crei un reader e fai
    codice:
                Ctrl.DataSource = Reader
                Ctrl.DataTextField = TextField
                Ctrl.DataValueField = ValueField
                Ctrl.DataBind()
    e infine inserisci l'item
    codice:
    Ctrl.Items.Insert(0, DefaultItem)
    Pietro

  4. #4

    Re: listbox con campo vuoto

    Originariamente inviato da elisa_rm74
    lbProdotti.DataSource = ds.Tables("Prodotti").DefaultView
    un'alternativa potrebbe essere quella di aggiungere una riga vuota alla datatable con qualcosa del genere
    codice:
    Dim m_dt As DataTable = ds.Tables("Prodotti").DefaultView
    Dim m_dr As DataRow = m_dt.NewRow
    m_dr("id") = -1
    m_dr("nomecolonna") = ""
    m_dt.Rows.Add(m_dr)
    m_dt.AcceptChanges()
    m_dt.DefaultView.Sort = "nomecolonna"
    lbProdotti.DataSource = m_dt.DefaultView
    lbProdotti.DataBind()
    Saluti a tutti
    Riccardo

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    grazie! torno la mattina e trovo addirittura 3 soluzioni!

    grazie a tutti.
    Elisa

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 © 2026 vBulletin Solutions, Inc. All rights reserved.