in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

dropdownlist dinamico

Ultimo messaggio ricevuto il 16-05-2007 13.32 da devspy. 1 risposta(e).
Pagina 1 di 1 (2 elemento/i)
Ordina messaggi: Precedente Successivo
  • 15-05-2007 17.21

    dropdownlist dinamico

    Ciao...sto iniziando ora con ASP.Net e ho bisogno di aiuto,
    ho la necessità di avere un gridView con all'interno una dropdownlist, fin qui, dopo
    aver "smanettato" un pò su internet ci sono riuscita, però il problema è che i dati
    all'interno della combo devono essere dinamici.


    Ho due tabelle, una prodotti , l'altra categorie , in quest'ultima ci sono L'ID e il nome della categoria e l'ID viene inserito nella tab. prodotti quando inserisco un nuovo prodotto.
    Con una select estraggo i campi relativi alla tab. prodotti dove ovviamente c'è anche l'ID della categoria.
    nella DropDownList devo visualizzare come primo valore la categoria collegata (tramite ID) ma devo anche visualizzare nel menù a tendina le altre categorie che si possono inserire.
    In poche parole vorrei ottenere ciò che in ASP realizzo così:

    <select name="tipologia" id="tipologia">
    <option value="mare" <%If (Not isNull((Rca.Fields.Item("tipologia").Value))) Then If ("mare" = CStr((Rca.Fields.Item("tipologia").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Mare</option>
    <option value="terra" <%If (Not isNull((Rca.Fields.Item("tipologia").Value))) Then If ("terra" = CStr((Rca.Fields.Item("tipologia").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Terra</option>
    <option value="uomo" <%If (Not isNull((Rca.Fields.Item("tipologia").Value))) Then If ("uomo" = CStr((Rca.Fields.Item("tipologia").Value))) Then Response.Write("SELECTED") : Response.Write("")%>>Uomo</option>
    </select>

    Con la differenza che qui gli altri valori possibili sono statici: Mare, terra, uomo; mentre nel caso che vi chiedo sono nella tabella categorie.
    Credo ci vogliano innanzitutto 2 AccessDataSource, uno che estrae tutti i dati della tab. prodotti e l'altro i dati della tab. categorie, poi non so come procedere.
    Sapreste aiutarmi?
    • Log
  • 16-05-2007 13.32 In risposta a

    Re: dropdownlist dinamico

    Puoi fare così:
    1. Carica in un Dataset una prima tabella contenente i valori della griglia (ovvero, per le colonne di tipo DropDown, contenente l'indice del valore selezionato).
    2. Aggiungi al Dataset una tabella per ciascun differente elenco di valori delle singole colonne DropDown.
    3. Esegui un normale data-bind sulla griglia, associandola alla prima tabella.
    4. Aggancia l'evento ItemDataBound e recupera il controllo DropDown (che avrai già collocato nel ItemTemplate della pagina ASPX) in questo modo:
      DropDownList ddl = (DropDownList) e.Item.Cells[indice_colonna].Controls[0];
    5. Ora esegui il data-bind sulla singola DropDown (di cui hai ottenuto l'istanza corrente al punto 4) utilizzando le tabelle secondarie del Dataset.
    Non è l'unico modo, ma avendone sperimentati tanti, mi sembra il più comodo e pratico soprattutto per un programmatore alle prime esperienze con ASP.NET.

    Attualmente sto utilizzando un versione personalizzata della Bound Lookup Column del sito Metabuilders.com
    • Log
Pagina 1 di 1 (2 elemento/i)
Prelevato da http://www.devspy.com/forums/t/4519.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"