134 messaggi dal 14 marzo 2003
Ciao a tutti,
ho utilizzato un repeater ma non riesco a customizzare le celle.
In pratica questo è il codice

<asp:Repeater id="MyRepeater" RunAt="server">
<ItemTemplate>
<table width="100%">
<tr>
<td width="104">
<a href='Images/Large/<%# DataBinder.Eval
(Container.DataItem, "immagine") %>'> <img src='Images/Small/<%# DataBinder.Eval
(Container.DataItem, "immagine") %>'
</a>
</td>
<td>
<table cellpadding="4" height="100%" width="100%">
<tr height="48" bgcolor="gainsboro">
<td width="40%">
<%# DataBinder.Eval
(Container.DataItem, "descrizione") %>
</td>
</tr>
</table>
</td>
<td width="15%" align="center">
<%# DataBinder.Eval
(Container.DataItem, "data") %>
</td>
</tr>
</table>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
In corrispondenza del campo data vorre ottenere gg/mm/anno, invece ottengo mm/gg/aa 00.00.
In corrispondenza del campo descrizione invece vorrei poter inserire una variabile alla quale assegnare il contenuto di un file! come posso fare?!? Grazie a tutti, spero di essere stato chiaro
3.167 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

Nell'itemtemplate invece che utilizzare il metodo databinder.Eval
piazza un literal.

Poi nell'evento ItemDataBound ti recuperi il riferimento al literal
tramite FindControl e ne imposti il valore come vuoi

Es.

private void ItemDataBound(...){...
Literal l = e.Item.FindControl("nomeliteral");
l.Text = "valore";
.... }

HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
54 messaggi dal 07 aprile 2005
ciao a tutti,
scusa sm15455 potresti essere più chiaro?
penso che il mio problema sia simile a a quello di carlo74.

vorrei semplicemente potre lavorare sulla stringa di output liberamente.
tutto questo era semplicissimo con ASP lavorando sui recordset, ad esempio utilizzando, a seconda delle necessità:

server.htmlencode(recordset)
oppure
formatnumber(recordset)
o ancora
trim(recorset)
etc...

invece non riesco a modificare l'output di
<%# DataBinder.Eval
(Container.DataItem, "recordset") %>

ne' ad implementare in alternativa l'utilizzo dell'oggetto "literal" come da te accennato

premetto che ho una discreta esperienza di programmazione in ASP (Vbscript), mentre sono assolutamente nuovo alla programmazione in .NET, pertanto mi scuso se la domanda potrà apparire "banale"

il linguaggio da me attualmente utilizzato è VB
54 messaggi dal 07 aprile 2005
Perfeziono la domanda dato che (grazie al tuo spunto sull'oggetto "Literal") ho trovato online un (almeno così mi sembra) chiaro e completo esempio di formattazione di DataReader.

per correttezza cito la fonte dell'esempio:
http://www.fucinaweb.com/sviluppo/aspnet10_codice.asp

non c'è alcun riferimento al metodo FindControl di cui parlavi, tuttavia il problema da me posto viene risolto: forse non in maniera superelegante però.... funziona al centopercento.

questa ne è l'applicazione pratica riferita al mio codice:

...
Dim objDataReader as SqlDataReader=objCommand.ExecuteReader

While objDataReader.Read()

strTabella += "<tr><td rowspan='2'><a href='schedavb.asp?pid=" & objDataReader("product_id") & "'><img class='conbordo' src='images/centrale/" & Trim(objDataReader("photo")) & ".jpg' alt='foto prodotto' /></a></td>"& _
"<td class='BNSFONDO' style='height:12px;font-weight:bold;'><a href='schedavb.asp?pid=" & objDataReader("product_id") & "'>" & objDataReader("articolo") & "</td>"& _
"<td class='BNSFONDO' style='text-align:right;font-weight:bold;'>" & Server.htmlEncode("?") & "&nbsp;" & formatnumber(objDataReader("offerta")/100,2) & "</td></tr>"& _
"<tr><td colspan='2'class='SMALL'>" & objDataReader("descrizione") & "</td></tr>"

End While

objDataReader.Close()
MyDB.Close()

tabella.Text = strTabella

end if
End Sub

...
segue il richiamo a Literal nella parte Html (molto semplice e "pulito")
...

<table>
<asp:Literal id="tabella" runat="server" />
<table>

e questo è tutto... in questo modo sono riuscito a formattare la tabella ESATTAMENTE come desiderato...
(puoi farti un'idea della risultante formattazione sul frame centrale di pcbook.it)

Tuttavia, come è facile intuire dal codice tra WHILE e END WHILE la necessaria commistione di virgolette semplici e doppie, di codice html e oggetti DataReader non rende facilissima la redazione o correzione dello stesso.

E' possibile che il metodo al quale facevi riferimento renda il tutto più "ordinato" o comunque più semplice da gestire?

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.