25 messaggi dal 15 settembre 2011
Salve a tutti,
Ho il seguente problema:

Ho una gridview che ha due DataKeyNames="A,B".

Voglio che dentro la gridview sia popolata una dropdownlist che prende i dati da db attraverso una query del tipo:

select c,d from tbl1 join tbl2 where id=A and id1=B


I select parameter sono del tipo:
<asp:ControlParameter ControlID="GridView1" Name="A" PropertyName="SelectedDataKey.Values[A]"/>


Ho letto altri post, alcuni dicevano di cambiare il Property name, ma comunque la pagina veniva caricata e la dropdownlist risultava vuota.

Dove sbaglio?

Grazie a tutti.
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
penso che non stia funzionando perchè SelectedDataKey.Values non ti restituisce alcun valore, dato che nessuna riga è selezionata.
La DropDownList ti serve in modalità di editing della riga, giusto? Quindi probabilmente la riga non ha lo stato di "selezionata" ma si trova invece in stato di editing.

Comunque, in questo caso lascia perdere SelectedDataKey.Values perché non ti dà i valori della riga corrente. Prova ad appoggiarti ad un controllo Hidden che metti di fianco alla dropdownlist.

Parametro del controllo DataSource
<SelectParameters>
    <asp:ControlParameter ControlID="hiddenField" Name="A" PropertyName="Value"/>
</SelectParameters>


Controlli HiddenField e DropDownList
<asp:HiddenField ID="hiddenField" Value='<%# Eval("A") %>' Visible="false" runat="server" />
<asp:DropDownList DataSourceID="controlloDataSource" ID="ddl" DataValueField="c" DataTextField="d" runat="server" />


ciao
Modificato da BrightSoul il 23 febbraio 2013 00.48 -

Enjoy learning and just keep making
25 messaggi dal 15 settembre 2011
Ho risolto utilizzando un solo datakeyvalue e bindando il seleted value!

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.