184 messaggi dal 11 settembre 2003
Ho dei problemi con la gestione dei DropDownList

Popolo il ddl con:

OleDbDataAdapter SqlDa = new OleDbDataAdapter("SELECT ID, Descrizione FROM
Tipo", this.conn);
DataSet ds = new DataSet();
SqlDa.Fill(ds, "ProductList");
return ds.Tables["ProductList"];


e in fase di update utilizzo:

Tipo = ((DropDownList)(e.Item.FindControl("edit_Product"))).SelectedValue;

per recuperare il valore



questo è perfetto, ma ho 2 problemi:

Nel DataGrid visualizzo una tabella che, per il campo Tipo si collega ad
alla Tabella Tipo; quindi nella tabella del DataGrid salvo l'ID della tabella Tipo
Attualmente nel datagrid visualizzo ancora il numero (ID) della tabella Tipo e non il testo collegato all'ID; come posso visualizzare il testo?


In EditMode, vorrei che, oltre all'elenco della Tabella Tipo, la DDL sia
posizionata sull'elemento della tabella Tipo già salvato (e non sul primo)


<EditItemTemplate>
<asp:DropDownList
Runat="server"
Id="edit_Product"
DataSource='<%#
GetProducts((int)DataBinder.Eval(Container.DataItem, "ID")) %>'
DataTextField="Descrizione"
DataValueField="ID"
Width="150" />
</EditItemTemplate>
</asp:TemplateColumn>



Grazie per l'aiuto
184 messaggi dal 11 settembre 2003
Mi sono perso ... non so come risolvere il problema!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao, non sono sicuro di aver capito bene... se vuoi recuperare il testo dell'elemento selezionato, fai:

Tipo = ((DropDownList)(e.Item.FindControl("edit_Product"))).SelectedItem.text;

ciao

Enjoy learning and just keep making
184 messaggi dal 11 settembre 2003
Grazie per l'aiuto!

ma

Tipo = ((DropDownList)(e.Item.FindControl("edit_Product"))).SelectedItem.text;

dove devo utilizzarlo???

Io ho una funziona che crea un DataTable che poi utilizzo nel DDL (nella pagina HTML)

dove inserisco l'istruzione da te indicata, e dove utilizzo il contenuto Tipo?


Per quanto riguarda la prima domanda... come posso gestire le due Tabelle?

Ho due Tabelle:
Tabella1 -> visualizzata nel DataGrid
Tipo -> (composta da ID e Descrizione) (visualizzata nel DropDownList)

nella Tabella1 è presente un Campo TipoTabella -> con l'ID corrispondente ai contenuti della Tabella Tipo

Salvare nella tabella Tabella1, l'ID della selezione fatta sulla Tabella Tipo (attraverso il ddl)

e

visualizzare nel DataGrid non l'ID salvato nella Tabella1 ma la Descrizione corrispondente all'ID nella tabella Tipo.

Grazie Grazie Grazie
forse puoi fare un FindControl nel ItemDataBound del datagrid
184 messaggi dal 11 settembre 2003
Non sono ancora riuscito a risolvere il problema :(
32 messaggi dal 20 dicembre 2001
www.dinuzzo.it
Per posizionarti sull'item giusto all'interno dell'elenco devi utilizzare il metodo
SelectedIndex='<%# TrovaIndex(DataBinder.Eval(Container.DataItem, "NomeCampo")) %>' da inserire nella dichiarazione della drop down list (vai in visualizzazione html della pagina e inserisci la chiamata alla funzione suddetta a fianco di <asp:DropDownList id="ddlLista".... ecc.)
Nel codebehind (se usi visual studio) metti una funzione corrispondente che nell'esempio dovrai chiamare TrovaIndex e che prende come parametro il valore presente nel campo del db e restituira' l'index del corrispondente valore nell'elenco che popola la drop down list.

Ciao
Riccardo

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.