Visualizzazione dei risultati da 1 a 6 su 6

Discussione: DropDownList

  1. #1

    DropDownList

    Ciao!
    Ho bisogno di riempire via codice un DropDownList con i dati ricevuti da un dataset.
    Sul manuale ho trovato questa cosa:

    codice:
    Dim DrowItem as dsContacts.ContactsRow
    For Each DrowItem In dsContacts.Contacts
         dim lstNew as New ListItem()
         lstNew.Text=DroWItem.FirstName & " " & DrowItem.LastName
         lstNew.Value=DrowItem.ContactID
         drpContacts.Items.Add(lstNew)
    Next
    dsContacts è il componente dataset ("file" dsContacts.xsd) che contiene la tabella ContactsRow (dsContacts.ContactsRow)
    Quindi visualizzo i campi cognome e nome, ma prelevo solo il loro ID.

    Devo fare esattamente la stessa identica cosa, solo che non ho un dataset creato come .xsd .
    Il dataset che ho io è ricavato tramite codice e contiene il risultato di una query.
    Solo che se cerco di utilizzare il mio dataset come sopra non lo riconosce e non mi associa la tabella...
    Come devo fare?
    Grazie

    LIDIA

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    codice:
    TuaDropDownList.DataSource = TuoDataSet.Tables("TuaTabella")
    TuaDropDownList.DataTextField = "NomeCampoA"
    TuaDropDownList.DataValueField = "NomeCampoB"
    TuaDropDownList.DataBind()
    DataTextField è il campo dal quale verrano prese le voci che appariranno sulla DropDownList, DataValueField è il campo dal quale verrano presi i dati che daranno un valore alle voci della DropDownList (esempio un'eventuale campo ID).


    Hey hey, my my Rock and roll can never die!

  3. #3
    OK, OK.... praticamente avevo fatto la stessa cosa solo che mi ero dimenticata del databind().

    Allora, il problema è che la query è la seguente:
    codice:
            strSQL = "SELECT anoperatoriesercizio.codoperatore, anoperatori.cognome, "
            strSQL = strSQL & "anoperatori.nome FROM anoperatori, anoperatoriesercizio "
            strSQL = strSQL & "WHERE ((anoperatori.codoperatore = 	anoperatoriesercizio.codoperatore) "
            strSQL = strSQL & "AND (anoperatoriesercizio.codesercizio = '" & pEs & "'))"
    I dati vengono presi da due tabelle.
    Nel dropdownlist vorrei visualizzare nome e cognome, ma recuperare come valore il codoperatore.
    Allora ho pensato di mettere:
    codice:
    dropdownlist1.datasource=mds.tables(0) 'accetta solo 0, se metto 1 dà errore
    dropdownlist1.datatextfield="Cognome" & " " & "Nome"
    dropdownlist1.datavaluefield="codOperatore"
    dropdownlist1.databind()
    Però mi dà errore e mi dice che non trova i campi Nome e Cognome.
    Come posso fare?

    Grazie
    LIDIA

  4. #4
    Allora.... ho scritto questo codice:

    codice:
    DropDownList1.DataSource=mDS.Tables(0)
    For i=0 to (mDS.Tables(0).rows.count)-1
        DropDownList1.DataTextField=mDS.Tables(0).Rows(i)("Cognome") & " " mDS.Tables(0).Rows(i)("Nome")
        DropDownList1.DataTextValue=mDS.Tables(0).Rows(i)("codOperatore")
    Next
    Se metto DropDownList1.DataBind() mi dà errore
    Se invece metto DropDownList1.Items.Add(DropDownList1.DataTextValu e) mi scrive tutti e 20 gli utenti che mi interessano, ma poi quando li seleziono, non riesco a recuperare il value associato.

    Cioè ad esempio visualizzo BARONCHELLI LIDIA. Se lo seleziono dovrebbe recuperarmi BAR. Come faccio a realizzarlo?

    Dai dai, rispondetemi così riesco ad andare avanti!!!

  5. #5
    Ce l'ho fatta.....

    Praticamente il codice per realizzare quello che volevo io è:

    codice:
    DropDownList1.DataSource = mDS.Tables(0)
    Dim drowItem As System.Data.DataRow
    For Each drowItem In mDS.Tables(0).Rows
        DropDownList1.Items.Add(New ListItem(drowItem("Cognome") & " " & drowItem("Nome"), drowItem("codOperatore")))
    Next
    Grazie comunque dell'aiuto!

    Ciao
    LIDIA

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Avresti potuto modificare la query:

    codice:
            strSQL = "SELECT anoperatoriesercizio.codoperatore, (anoperatori.cognome + " " + anoperatori.nome) as NomeCognome, "
            strSQL = strSQL & " FROM anoperatori, anoperatoriesercizio "
            strSQL = strSQL & "WHERE ((anoperatori.codoperatore = 	anoperatoriesercizio.codoperatore) "
            strSQL = strSQL & "AND (anoperatoriesercizio.codesercizio = '" & pEs & "'))"
    e pi come datatextfield usavi "NomeCognome"

    Hey hey, my my Rock and roll can never die!

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.