33 messaggi dal 03 dicembre 2004
Ok grazie Marco, ciao
66 messaggi dal 11 maggio 2006
Esiste anche un altra soluzione abbastanza facile per fare quello che ti serve:

Tramite l'evento rowdatabound della grid:

Protected Sub GRID_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GRID.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then

Accedi ad un campo anche nascosto, come nell'esempio, della grid mediante
CType(e.Row.Cells(3).Controls(1), HiddenField).Value

ed in base a quel campo rendi visibile una delle due immagini che per default sono non visibili nella cella template della grid:

ad esempio:
e.Row.Cells(3).Controls(3).Visible = True

Spero ti sia di aiuto fammi sapere.

Ciao.
33 messaggi dal 03 dicembre 2004
Grazie ormai il settaggio dell'immagine l'ho impostato. Sarebbe interessante riusciure a linkare l'immagine e permettere un sorta di ON / OFF .. ma come diceva Marco bisogna usare anche un pò di javascipt per lo swap e non è cosi immediato (almeno per me).

COnoscete qualche articolo di qualche blog che mostra come si fa?

Augusto
mi spiace non letto fino ad ora articoli in merito, ma prova a dare un occhiata al sito CodeProjet e aspitalia, trovi sicuramente molto riguardo al DataGrid , ma migrare la logica al GridView non è complicatissimo

se trovi qualcosa e vuoi adattarlo siamo quà, nel frattenpo se trovassi io qualcosa posto quà.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
66 messaggi dal 11 maggio 2006
Non ti seguo, se non ho capito male tu vuoi che in base ad un campo di una row di una gridview, su una cella della stessa row appaia un immagine o ne appaia un altra... se è così non ti serve javascript.

Come ti ho detto:
Crei un campo template nella row del dg.
All'interno ci metti un hiddenfield bindato al valore del campo in base al quale decidi quale sia l'immagine da visualizzare.
Nello setesso campo ci metti due immagini entrambe non visibili.

Mediante levento DataRowBound controlli il valore dell'hiddenfield e rendi visibile l'immagine che ti serve...

Altrimenti cosa ti serve?

Ciao.
ciao Hiram mi permetto di rispondere io, il problema di visualizzare o meno un immagine in base ad un record nel db è già stato risolto così:


public string GetStatus() 
{ 
if ((Byte)Eval("id_status") == 1) 
{ 
return "images/ok.gif"; 
} 

return "images/ko.gif"; 
}


adesso satoshy aveva un altra esigenza, che cliccando sull'immagine venisse aggiornato il record sul db e che l'immagine tispecchiosse questo cambiamento.

effettivamente quando o proposto la soluzione di javascript pensavo ad una soluzione più articolata per l'udate, ma ne esiste uno molto più semplice gestire l'evento RowCommand

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
66 messaggi dal 11 maggio 2006
Con il Row command non ho mai provato, mi è capitato di aggiornare una tabella con un campo checkbox (alla pressione del campo checkbox esegui update del record) e se non ricordo male lo avevo fatto abilitando il postback del controllo ed eseguendo un ciclo ForEach Row nella grid, che verificasse lo stato attuale rispetto a quello di caricamento di pagina per ogni riga visualizzata ed eventualmente eseguisse l'update del record.

Con RowCommand per cultura come si fa?

(PS: Marco, pls pls butti un occhio al mio post sull'apertura finestre,  )

Grazie.
per prima cosa utilizzare nella TemplateField un LinkButton, per impostare l'immagine utilizzare un css, per cambiare css usare il solito meccanismo che prima utilizzavamo per determinare il percorso dell'immagine.

infine impostare il CommanName ad esempio su update_Field e l'augument sulla riga del GridView

spero di essermi spiegato, appena posso do un occhiata al tuo post.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.