[VBNET] Visualizzare immagini in un datagrid

mercoledì 11 marzo 2009 - 13.32

$ilver Profilo | Junior Member

Ciao a tutti,
sono qui che vi disturbo ancora, perchè mi torvo davanti ad una cosa che non ho mai fatto prima.
Praticamente il mio problema è quello di visualizzare delle immagini, il cui nome è in un campo della tabella del mi db sql, che risiedono in una cartella del server, in un anteprima nel campo di un mio datagrid.

Il datagrid ha diverse colonne che vengono riempite tramite dati del db, in una di queste dovrei far vedere l'immagine (ridotta) che si trova sul mio server che il nome risiede nella tabella del mio db.

Spero di essere stato chiaro.

rossimarko Profilo | Guru

Ciao,

puoi inserire un ImageField http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.imagefield.aspx

Nella documentazione trovi anche un esempio sul suo utilizzo

PS: la cartella delle immagini si trova all'interno del sito web? Altrimenti dovrai configurare correttamente IIS con una virtual directory che consenta di farle vedere come cartella del sito web

-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

$ilver Profilo | Junior Member

Allora la cartella delle immagini è nel mio sito, però quando aggiungo questa colonna in questo modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

nel mio datagrid mi da il seguente errore:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Come mai?
la mia griglia è definita in questo modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Mannaggia non capisco il perche mi da errore nella progettazione della aspx

rossimarko Profilo | Guru

Ti da errore perchè usi una datagrid, invece quella colonna è definita per la gridview (il nuovo controllo asp.net 2.0 per la gestione delle griglie) : http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.gridview.aspx

L'hai mai usata? Le funzionalità sono rimaste simili (diciamo che sono state estese e migliorate) e cambiano i nomi degli oggetti

Altrimenti se vuoi usare la datagrid puoi farti una colonna Template e inserire un controllo immagine. Poi da codice puoi andare ad impostare la proprietà ImageUrl prelevando i dati da db

-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

$ilver Profilo | Junior Member

No non l'ho mai usate e più che altro in tutto il miop progetto uso il datagrid :-( .

Cosa intenti per template? intendi un <asp:TemplateColumn> ?

Hai per caso un esempio di codice?

rossimarko Profilo | Guru

Si metti una templatecolumn, una cosa di questo tipo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ovviamente devi sostituire il path e il nome della colonna con i dati corretti
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

$ilver Profilo | Junior Member

ok c'ero quasi arrivato :-)

L'ultima cosa davvero... nella riga Eval("NomeColonnaPathImg") quel NomeColonnaPathImg è il nome della mia colonna della tabella del db giusto?

rossimarko Profilo | Guru

Si, è il nome della colonna che contiene il nome dell'immagine
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

$ilver Profilo | Junior Member

Scusa il ritardo della mia risposta, grazie mille ancora, ora funziona
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5