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 1.0/1.1
Edit Item di un DataGrid
giovedì 18 settembre 2003 - 20.21
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
1234
Profilo
| Newbie
36
messaggi | Data Invio:
gio 18 set 2003 - 20:21
Ho definito un DropDownList all'interno di una colonna di un DataGrid di tipo Template nella parte Edit. In HTML appare quanto segue:
<EditItemTemplate>
<asp:DropDownList id=ddlEdActCustomer runat="server" Width="104px" AutoPostBack="True"
DataSource="<%# ListCustomers() %>" DataValueField="CusID"
DataTextField="CompanyName" OnSelectedIndexChanged="ddlEdActCustomer_OnChange">
</asp:DropDownList>
</EditItemTemplate>
La proprietà OnSelectedIndexChanged="ddlEdActCustomer_OnChange" dovrebbe permette di accedere al metodo
protected void ddlEdActCustomer_OnChange(object sender, System.EventArgs e) quando si seleziona un altro elemento della dropdownlist, ma in realtà non lo fa: ho provato a mettere un break point in quel punto... ma non ci passa proprio per quel metodo...
Come posso fare?
Admin
Profilo
| Junior Member
160
messaggi | Data Invio:
ven 19 set 2003 - 11:30
il mio consiglio è quello di non attaccarti all'evento onselectedindexchanged di ogni dropdown... sarebbe un pò difficile da implementare nel tuo caso.
Puoi ovviare al problema, togliendo l'autopostback... e quindi mettere un bottone con commandname="update", e quindi intercettare l'evento UpdateCommand di DataGrid, che ti permette di ricevere il riferimento alla riga che è stata modificata nella griglia.
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassupdatecommandtopic.asp?frame=true
Ciao
Stefano Giannone [MCP .NET]
1234
Profilo
| Newbie
36
messaggi | Data Invio:
ven 19 set 2003 - 11:41
Grazie per la risposta, ma purtroppo non è quello che cercavo. Ora provo a spiegarmi meglio:
l'autopostback è necessario in quanto alla selezione di un elemento nella DropDownList parte l'evento OnChange che mantiene tutti i dati in variabili e nel frattempo altre 2 DropDownList si aggiornarno.
Esempio: sono in fase di Edit nel DataGrid: i campi di Edit sono
DropDownList Cliente, DropDownList Luogo, DropDownList Progetto: nel momento in cui scelgo un'altro cliente, gli altri due DropDownList si aggiornano automaticamento; in futuro vorrei anche che quando l'utente selezioni un altro luogo anche i progetti si aggiornino di conseguenza... ma il motto è .... un passo per volta.
Se mi sai dare altri consigli, mi farebbe molto comodo... GRAZIE :)
Admin
Profilo
| Junior Member
160
messaggi | Data Invio:
ven 19 set 2003 - 11:47
un altro consiglio potrebbe essere quello di operare da javascript, se puoi. Puoi? O devi caricarti degli altri dati in base alla selezione ?
Operare da javascript significherebbe recuperare l'istanza del controllo tramite il valore di Control.ClientID che andresti a scrivere nell'outpu e recuperare in qualche modo...
Ciao
Stefano Giannone [MCP .NET]
1234
Profilo
| Newbie
36
messaggi | Data Invio:
ven 19 set 2003 - 11:59
Alla domanda "puoi?" ti rispondo penso di sì... ma la seconda domanda non riesco a capirla... l'esempio che ti ho dato mostra che alla selezione carica altri dati, vale a dire gli altri dropdownlist in edit.... tu intendi "altri dati" oltre a quelli?
Admin
Profilo
| Junior Member
160
messaggi | Data Invio:
ven 19 set 2003 - 12:08
intendo dire se al cambiamento di un valore della prima dropdown ti serve caricare dei dati da DB o da altri fonti non raggiungibili da JS, nelle altre dropdown
1234
Profilo
| Newbie
36
messaggi | Data Invio:
mar 23 set 2003 - 19:36
scusa il ritardo ma sono entrata in fase di re-engeneering... un casino... ora avrei una domanda sempre relativo ai Datagrid, quindi non creo una nuova Thread... la mia domanda è molto banale e forse la risposta la so già ... il fatto è che non sono sicura:
Il DataGrid offre dei bottoni di Edit,Update e Cancel: questi possono funzionare solo con le colonne di tipo Template (se configurati correttamente con il richiamo degli handler OnEdit, OnUpdate e OnCancel) ?
Io ho fatto una volta una prova è ho scoperto che quando un DataGrid è alimentato automaticamente (AutoGenerateColumns) oppure si usano delle colonne Template e poi inserisco il bottone Edit,Update e Cancel allora funziona, se invece le colonne sono di tipo Bound non funzionano
Fatemi sapere, 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 !