Gridview e templatefield

lunedì 13 novembre 2006 - 14.45

totti240282 Profilo | Guru

Allora ho messo in un templatefield di un datagrid una combo,la quale prende dei dati da una tabella diversa da dove il datagrid prende i dati.E fino alla visualizzazzione tutto bene,ora viene il problema, quando vado in edit mode seleziono il nuovo valore,e dopo come faccio a passargli il parametro e il nuovo valore alla query di aggiornamento ???.Non trovo un evento che mi faccia accedere alla combo in modo da leggere il nuovo valore e passarlo alla query di update,come posso fare ???
C'è solo un capitano !!!!!!

LupoRosso Profilo | Newbie

Ciao, non so se ho capito bene, ma per quanto mi riguarda io ho risolto così (Ti posto direttamente il codice che si fa prima):
<asp:TemplateField>
<EditItemTemplate>
<asp:DropDownList runat="server" ID="ddl" DataSourceID="ObjectDataSource "
DataTextField="testo" DataValueField="valore"
SelectedValue='<%# Bind("nome del campo di cui possiedi l'id nella tabella che popola il gridview") %>'>
</asp:DropDownList>
<asp:ObjectDataSource ID="ObjectDataSource " runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="metodoDelDataSource" TypeName="dsTableAdapters.dbo_dataSourceTableAdapter">
</asp:ObjectDataSource>
</EditItemTemplate>
<ItemTemplate>

<asp:DropDownList runat="server" ID="ddl_itemTemplate" DataSourceID="ObjectDataSourceItTempl"
DataTextField="testo come sopra" DataValueField="valore come sopra" SelectedValue='<%# Bind("nome del campo di cui possiedi l'id nella tabella che popola il gridview") %>'>
Enabled="False">
</asp:DropDownList><br />
<asp:ObjectDataSource ID="ObjectDataSourceItTempl" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="metodoDelDataSource come sopra" TypeName="dsTableAdapters.dbo_dataSourceTableAdapter">
</asp:ObjectDataSource>
</ItemTemplate>
</asp:TemplateField>
Ovviamente i due dataSource sono uguali, e nel mio caso di tipo ObjectDataSource, per la chiamata ai miei dataset. Di conseguenza sia in ItemTemplate che in EditItemTemplate, i campi estratti sono uguali.
Spero di aver capito bene che era questo quel che cercavi...
A questo punto però mi ricollego postando il mio problema ;)
Nello stesso contesto, vorrei sostituire alla dropdownlist nell' itemTemplate una label.
Come posso fare? Ho provato a fare riferimento all' evento RowDataBound (mi sembra sia simile al vecchio ItemDataBound), a fare:
Label lbl;
lbl = Convert.ChangeType(e.Row.FindControl("lbl_Destinazione"), GetType());
Ma puntualmente il convert si blocca e non vado avanti.
Altre idee per sostituire la label, oppure per migliorare la mia implementazione??
Grazie

totti240282 Profilo | Guru

grazie ma ho già risolto tempo fa usando dei campi hidden.
C'è solo un capitano !!!!!!

LupoRosso Profilo | Newbie

ehm... ho visto solo ora quando avevi postato
Cmq.... già che ci siamo...
Non è che hai qualche idea per il mio problemino??
Ciao Grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5