187 messaggi dal 23 maggio 2002
Ciao a tutti.
Ho una ddl con postback in un ItemTemplate di un Datagrid. Avevo provato a recuperarne il valore con SelectedIndexChanged ma nella sub non riuscivo a recuperare il controllo. Poi, cercando su internet ho trovato un codice tipo questo:

Dim ddllist As DropDownList = CType(sender, DropDownList)
Dim cell As TableCell = CType(ddllist.Parent, TableCell)
Dim item As DataGridItem = CType(cell.Parent, DataGridItem)
Dim content As String = item.Cells(4).Text

Dim ddlAzioni As DropDownList = CType(item.Cells(4).FindControl("ddlAzioni"), DropDownList)

che effettivamente funziona ma non mi è del tutto chiaro...
Se a qualcuno andasse di darmi una breve spiegazione mi farebbe molto piacere perchè non mi piace utilizzare cose che non capisco!

Grazie,
Elisa
questo codice lo stai utilizzando dove? in che EventHadler?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
187 messaggi dal 23 maggio 2002
Questo come, come nell'esempio trovato, è stato usato nell Protected Sub ddl_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) per recuperare il valore di una ddl (al postback di questa) che si trova nell'ItemTemplate di un Datagrid.
con questa riga:

Dim ddllist As DropDownList = CType(sender, DropDownList)

casti l'oggetto che viene passato al metodo, che è un riferimo generico a Object alla DropDonwList

che è l'oggetto che ha effettivamente scatenato l'evento

con questa invece

Dim cell As TableCell = CType(ddllist.Parent, TableCell)

recupera il contenitore della DropDownList, essendo il markup generato dalla DropDownList una tabella, la DropDownList si trova in una delle sue celle

con questa ulteriore riga di codice

Dim item As DataGridItem = CType(cell.Parent, DataGridItem)

saliamo ancora di un livello fino ad arrivare alla riga

Dim ddlAzioni As DropDownList = CType(item.Cells(4).FindControl("ddlAzioni"), DropDownList)

quà recuperi un altro rifemiremento ad uan DropDonwList.

domanda ma recuperi il riferimento a due DropDwonList differenti?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
187 messaggi dal 23 maggio 2002
ciao Marco, grazie mille per la spiegazione.
No la ddl da recuperare è 1 (nel mio caso si chiama ddlMsg e si trova dentro il datagrid dgOrdini)... quello che non capivo è perchè era costretto (e ora forse non mi esprimo correttamente) a dichiarare 2 ddl...

Grazie Elisa
onestamente non mi sembra necessario.

specialmente perche la recuperi subito così:

Dim ddllist As DropDownList = CType(sender, DropDownList)

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
187 messaggi dal 23 maggio 2002
Tutto chiaro, grazie ancora per il prezioso aiuto.
Elisa
di nulla, buon lavoro

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.