Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Gridview e templatefield
lunedì 13 novembre 2006 - 14.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
lun 13 nov 2006 - 14:45
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
2
messaggi | Data Invio:
gio 15 mar 2007 - 23:20
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
1.574
messaggi | Data Invio:
ven 16 mar 2007 - 10:06
grazie ma ho già risolto tempo fa usando dei campi hidden.
C'è solo un capitano !!!!!!
LupoRosso
Profilo
| Newbie
2
messaggi | Data Invio:
ven 16 mar 2007 - 12:32
ehm... ho visto solo ora quando avevi postato
Cmq.... già che ci siamo...
Non è che hai qualche idea per il mio problemino??
Ciao Grazie
Torna su
Stanze Forum
Elenco Threads
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 !