73 messaggi dal 28 gennaio 2003
Avete un'idea di come si possa fare per copiare tutti gli elementi di una combobox all'interno di un'altra combobox??
Per evitare di fare un ciclo su ogni elemento, che sarebbe notevolmente dispendioso....
Grazie!!

Bia
11.886 messaggi dal 09 febbraio 2002
Contributi
puoi fare il databinding:

combo2.DataSource = combo1.Items
combo2.Databind()


Per evitare di fare un ciclo su ogni elemento, che sarebbe notevolmente dispendioso....


notevolemente? Ma se si tratta di 3 righe di codice !?!?

Enjoy learning and just keep making
73 messaggi dal 28 gennaio 2003

sì lo so che sono poche righe di codice!!
mi riferivo al dover loopare circa duecento items
Cmq, non posso fare il databinding perchè sono valori che carico da un txt.
Grazie comunque!!

Bia
11.886 messaggi dal 09 febbraio 2002
Contributi

mi riferivo al dover loopare circa duecento items

si ma credo che dietro le quinte anche il databinding debba loopare tutti i duecento elementi (boh?). In sostanza il tempo di esecuzione credo che sia lo stesso, non è questo che rallenta l'esecuzione di un programma.


Cmq, non posso fare il databinding perchè sono valori che carico da un txt.

Mmh... non so se ho ben capito. Tu carichi la prima combo con i dati presi da un file di testo. Una volta caricati gli elementi si, puoi fare il databinding per copiare tutto sulla seconda, no? Posta un pò di codice

Enjoy learning and just keep making
73 messaggi dal 28 gennaio 2003
Sono appena tornata dalle ferie e devo essere ancora fusa... ti chiedo scusa, non avevo capito il tuo messaggio!!!
Hai ragionissimo, è sufficiente impostare il datasource della seconda combo sugli items della prima, esattamente come mi avevi scritto tu!!!

Scusami ancora, e grazie tantissimissimo della risposta, è perfetta e funziona perfettamente!!! ^_____^

Bia
11.886 messaggi dal 09 febbraio 2002
Contributi
eheh  buon rientro al lavoro

Enjoy learning and just keep making
3.939 messaggi dal 28 gennaio 2003
BrightSoul ha scritto:
puoi fare il databinding:

combo2.DataSource = combo1.Items
combo2.Databind()



Dovendo fare una cosa simile, mi sono ricordato di questa risposta e l'ho applicata. Però non funziona. Spiego.
Questo codice:
        If Not Me.IsPostBack Then
            Me.ListBox1.Items.Add(New ListItem("Rosso", Color.Red.Name))
            Me.ListBox1.Items.Add(New ListItem("Blu", Color.Blue.Name))

            Me.ListBox2.DataSource = Me.ListBox1.Items
            Me.ListBox2.DataBind()

        End If


rende questo html
<select name="ListBox1" id="ListBox1">
  <option value="Red">Rosso</option>
  <option value="Blue">Blu</option>
</select>


<select name="ListBox2" id="ListBox2">
  <option value="Rosso">Rosso</option>
  <option value="Blu">Blu</option>
</select>


Ossia, non vengono resi uguali i value degli option.
Qualche suggerimento?
3.939 messaggi dal 28 gennaio 2003
A chi interessi, ho trovato:
Me.ListBox2.DataSource = Me.ListBox1.Items
Me.ListBox2.DataTextField = "Text"
Me.ListBox2.DataValueField = "Value"
Me.ListBox2.DataBind()

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.