23 messaggi dal 05 settembre 2002
ciao a tutti
riesco ad estrarre le immagini da un database in una gridview.
Quello che vorrei ottenere, invece, è un effetto lightbox su ognuna (ogni link farà apparire la corrispondente immagine + grande).
E' corretto usare la gridview o consigliate qualche altro metodo?
Grazie
Floyd
floyd ha scritto:

E' corretto usare la gridview o consigliate qualche altro metodo?

Diepende da molti fattori. Certamente il gridview e il controllo con le maggiori funizonalità, ma non è sempre indicato. Certo se non hai voglia di implementari metodi di paginazione e sorting personalizzati il gridview va bene altrimenti sono preferibili controlli più "leggeri". Anche se devi comunque tenere sempre d'occhio il viewstate (croce e delizia).

Grazie
Prego ;)

Fabrizio Canevali
23 messaggi dal 05 settembre 2002
Ciao fabrica
grazie per la tua risposta; potresti indicarmi, cortesemente, il codice da utilizzare? da tener presente che non vorrei usare il link sull'immagine per
creare una master-details ma un link che mi apra la stessa immagine, ingrandita.
La mia difficoltà è correlare la miniatura con la stessa + grande.
Spero di essere stato chiaro.
Grazie ancora
Floyd
41 messaggi dal 19 febbraio 2007
Ciao Floyd, e ciao a tutta la community.
Questo è il mio primo vero post e cercherò di non farmi prendere troppo dall'emozione !

Se vuoi utilizzare il controllo GridView ti consiglio di utilizzare una colonna Template nella quale andrai ad inserire il codice di markup necessario per richiamare lightbox.
Ad esempio, supponendo tu abbia impostato come DataSource della GridView un DataSet contenente le informazioni relative alle immagini da inserire, il markup della GridView sarà il seguente:

(Nota: ho ipotizzato che tu nel DB abbia presenti una colonna chiamata, ad esempio, "ThumbNailUrl" per indicare quale sia la URI delle miniature e una colonna "ImageUrl" indicante la URI delle immagini originali.
Inoltre, l'esempio seguente utilizza la versione 2.0 di Lighbox).

<asp:GridView ID="gw_immagini" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href='<%# DataBinder.Eval(Container.DataItem,("ImageUrl") %>' rel='lightbox[mygallery]'>
<img src='<%# DataBinder.Eval(Container.DataItem,("ThumbNailUrl") %>'/>
</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>


Naturalmente ho omesso la parte di codice riguardante l'accesso ai dati e l'associazione del DataSource alla GridView.
Se dovessi averne bisogno posso postartela.

Spero di essere stato chiaro e soprattuto spero che l'esempio faccia al caso tuo.

Fammi sapere!!

Ciao!
Modificato da mike_nudget il 23 luglio 2007 11.02 -
23 messaggi dal 05 settembre 2002
Ciao mike_nudget
e grazie 1000 per il tuo post; onestamente nn avevo pensato ad usare un
<asp:TemplateField> + <ItemTemplate> in quanto ho estratto i dati "meccanicamente" tramite una GridView. Appena posso provo il tuo codice.
Grazie ancora
Floyd
23 messaggi dal 05 settembre 2002
Ciao mike_nudget
solo adesso sto provando l'esempio di cui mi postasti il codice ma.. non funge.
la mia GridView è fatta in questo modo:

    <asp:GridView ID="GridViewImmagini" runat="server" AutoGenerateColumns="false"
    DataSourceID="AccessDataSource1">
   <Columns>
   <asp:BoundField HeaderText="Descrizione" DataField="testo" />
<asp:TemplateField>
   <a href='<%# DataBinder.Eval(Container.DataItem,("image_url") %>'
rel='lightbox'><img src='<%# DataBinder.Eval(Container.DataItem,("mini_url")%>'/></a>
    </asp:TemplateField>
      </Columns>
    </asp:GridView>


L'errore che mi apare nella pagina è il seguente:
Messaggio di errore del parser: Il tipo 'System.Web.UI.WebControls.TemplateField' non ha proprietà pubbliche denominate 'a'.

Non riesco a linkare nemmeno le immagini se le straggo con
<asp:ImageField>


Il codice che uso è VB.
Potresti darmi un aiuto, cortesemente?
Grazie
Floyd
41 messaggi dal 19 febbraio 2007
Ciao Floyd!

Manca <ItemTemplate>. Ecco come dovrebbe essere:

<asp:GridView ID="GridViewImmagini" runat="server" AutoGenerateColumns="false"
DataSourceID="AccessDataSource1">
<Columns>
<asp:BoundField HeaderText="Descrizione" DataField="testo" />
<asp:TemplateField>
<ItemTemplate>
<a href='<%# DataBinder.Eval(Container.DataItem,("image_url") %>'
rel='lightbox'><img src='<%# DataBinder.Eval(Container.DataItem,("mini_url")%>'/></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
23 messaggi dal 05 settembre 2002
Ciao mike_nudget
grazie 1000.
Funzia alla perfezione
Floyd

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.