Impaginare gridview con campi un unica colonna

sabato 05 giugno 2010 - 16.03

basicdany Profilo | Expert

ciao a tutti ho impaginato cosi una gridview.

<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None"
AutoGenerateColumns="False" DataKeyNames="ID">
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />

<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/ImageRicercaVB.ashx?Id=" & Eval("Id") %>' />
</ItemTemplate>
<ControlStyle Height="100px" Width="100px" />
</asp:TemplateField>

<asp:BoundField DataField="Citta" HeaderText="Citta" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle Width="150px" HorizontalAlign="Left" />
</asp:BoundField>

<asp:BoundField DataField="Contratto" HeaderText="Contratto" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle Width="150px" HorizontalAlign="Left" />
</asp:BoundField>

</Columns>
</asp:GridView>

Vorrei che il campo citta e contratto siano uno sotto l'altro in una soloa colonna accanto Image1, come posso fare questo?

grazie tanto a tutti

paoval72 Profilo | Senior Member

Ciao, la prim a cosa che mi viene in mente è usare un altro Item template e annidarvi dentro tabelle html:

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


Per il settaggio degli stili è probabile che tu debba intervenire sulle celle delle tabelle html: qualche sbattone in più, ma il risultato (come in questo esempio) dovrebbe essere lo stesso.
Prova e dimmi.
Ciao,
Paolo

Gluck74 Profilo | Guru

si, è una soluzione, ma non è necessario poiché già il gridview viene tradotto come una tabella.
è sufficiente utilizzare un itemTemplate e mettere i due campi in un unica colonna, che risulteranno quindi all'interno di un'unica cella accanto alla cella che contiene l'immagine:

<Columns> <asp:TemplateField> <ItemTemplate> <asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/ImageRicercaVB.ashx?Id=" & Eval("Id") %>' /> </ItemTemplate> <ControlStyle Height="100px" Width="100px" /> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:label ..... text=<%# Eval("Contratto") %> ..... /> <br> <asp:label .....text=<%# Eval("Città") %> ...... /> </ItemTemplate> </asp:TemplateField> </Columns>

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

paoval72 Profilo | Senior Member

Ciao. nella mia soluzione ho usato ua table annidata per creare anche le righe di titolo, ma ripensandoci basta usare una label per ogni titolo, con un <br> a separarle dalla label col dato.
Buona giornata!

basicdany Profilo | Expert

ok, provo e vi faccio sapere, grazie tanto

basicdany Profilo | Expert

Ok, funziona:

<asp:TemplateField>
<ItemTemplate>

<asp:Label ID="Contratto" runat="server" Text='<%# Eval("Contratto") %>'></asp:Label>
<br /><br />
<asp:Label ID="Città" runat="server" Text='<%# Eval("Citta") %>'></asp:Label>
<br /><br />
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField>
<ItemTemplate>

<asp:Label ID="Tipologia" runat="server" Text='<%# Eval("Tipologia") %>'></asp:Label>
<br /><br />
<asp:Label ID="DataInsert" runat="server" Text='<%# Eval("DataInsert") %>'></asp:Label>
<br /><br />
</ItemTemplate>
</asp:TemplateField>

VORREI INFINE INSERIRE DEI TITOLI AI CAMPI?

GRAZIE

paoval72 Profilo | Senior Member

Ciao, come ti ho scritto nell'utlimo messaggio, puoi usare lo stesso metodo: inserisci una label al di sopra del campo dato, seguita dall'interruzione di pagina (<br />). E alla label applichi gli stili che vuoi.
Buona giornata,
PV
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5