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
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
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"
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
e infine inserisci l'itemcodice:Ctrl.DataSource = Reader Ctrl.DataTextField = TextField Ctrl.DataValueField = ValueField Ctrl.DataBind()
codice:Ctrl.Items.Insert(0, DefaultItem)![]()
Pietro
un'alternativa potrebbe essere quella di aggiungere una riga vuota alla datatable con qualcosa del genereOriginariamente inviato da elisa_rm74
lbProdotti.DataSource = ds.Tables("Prodotti").DefaultView
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
grazie! torno la mattina e trovo addirittura 3 soluzioni!
grazie a tutti.
Elisa