Aprire un popup su una colonna di un datagrid
In un recente progetto ho avuto la necessità di inserire su una colonna di un datagrid un link ad un popup di dettaglio del prodotto relativo alla riga corrente.
Utilizzando il controllo asp:HyperLinkColumn e un po' di codice JS nella proprietà DataNavigateUrlFormatString la cosa è piuttosto semplice:
<asp:HyperLinkColumn DataTextField="Campo" DataNavigateUrlField="id" DataNavigateUrlFormatString="javascript:popwin=window.open('link.aspx?id={0}',null,'width=692,height=500,scrollbars=1'); void(''); " />L'utilizzo di void(''); all'interno della funzione JS serve per evitare che dopo aver premuto il link al popup nella finestra principale appaia [object]
Naturalmente se la cosa dovesse servire in più parti del progetto conviene inserire la funzione window.open in un .js esterno.
Nella stessa categoria
rickyvr scrive:
Re: Aprire un popup su una colonna di un datagrid -
La cosa ha validità generale per tutti gli eventi utente del client: il click del mouse, un tasto premuto, ecc...
In taluni casi, come per esempio in quello di visualizzazione di una message box di conferma, il metodo invocato ritorna direttamente un valore booleano (window.open ritorna invece una reference alla nuova finestra) e quindi, per bloccare l'evento, basta scrivere:
Nell'esempio proposto viene ritornato false quando non si dà conferma, viene ritornato true quando si dà l'OK.
Ciao, Ricky.
Modificato da rickyvr il 04 febbraio 2005 15.59 -
La cosa ha validità generale per tutti gli eventi utente del client: il click del mouse, un tasto premuto, ecc...
In taluni casi, come per esempio in quello di visualizzazione di una message box di conferma, il metodo invocato ritorna direttamente un valore booleano (window.open ritorna invece una reference alla nuova finestra) e quindi, per bloccare l'evento, basta scrivere:
return confirm("Sei sicuro di voler preocedere con questa operazione?");Nell'esempio proposto viene ritornato false quando non si dà conferma, viene ritornato true quando si dà l'OK.
Ciao, Ricky.
Modificato da rickyvr il 04 febbraio 2005 15.59 -
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.
© 1998-2008 - K-Blog - Il blog di Massimo "Kappa" Cappellesso





Stampa
Download 

Al posto di void(''); si può mettere return false; per indicare al browser che l'evento onClick non deve avere seguito.
Ciao, Ricky.
Continua »»» | Rispondi »»»