Calcolo di una colonna all'interno di un repeater

mercoledì 04 ottobre 2006 - 01.13

ricky Profilo | Junior Member

Ciao, ho un repeater che visualizza una serie di dati

Io vorrei visualizzare, in una riga aggiuntiva, la divisione tra i totali di
due colonne del mio repeater

io ho provato a fare


<asp:Repeater ID="rpt" runat="server"
OnItemDataBound="rpt_OnItemDataBound">
<ItemTemplate>
<TR>
<TD
width="95%" style="height: 16px" bgcolor="#e2f8fe"><span
class="Testo7"><label id="DescrizioneCompetenza" runat="server"><%#
DataBinder.Eval(Container.DataItem,
"DescrizioneCompetenza")%></label></span></TD>
<TD
bgcolor="#a4e1ff" style="height: 16px"><div class="Testo7"><div
align="center"><strong><asp:label id="Peso" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem,
"Peso")%>'></asp:label></strong></div></div></TD>

<TD
style="height: 16px" bgcolor="#e2f8fe"><div class="Testo7"><div
align="center"><strong><asp:label id="Punteggio" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,
"Punteggio")%>'></asp:label></strong></div></div></TD>
</TR>
</ItemTemplate>
</asp:Repeater>

<TR >
<TD
height="30" colspan="6" class="Stile12"><span
class="Stile6">TOTALE</span></TD>
<TD
bgcolor="#33ccff" style="width: 34px"><div align="center"><asp:Label
ID="Label15" Text='<%# String.Format("{0:#,##0.000}",TotalePeso) %>'
Runat="server" /></div></TD>
</TR>


con l'itemdatabound definito in questo modo


protected void rpt_OnItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
if (((Label)(e.Item.FindControl("Peso"))).Text == "")
TotalePeso = TotalePeso + 0;
else
TotalePeso = TotalePeso +
(Convert.ToDecimal(((Label)(e.Item.FindControl("Peso"))).Text));


if (((Label)(e.Item.FindControl("Punteggio"))).Text == "")
TotalePunteggio = TotalePunteggio + 0;
else
TotalePunteggio = TotalePunteggio +
(Convert.ToDecimal(((Label)(e.Item.FindControl("Punteggio"))).Text));
}
}


A parte il fatto che anche con

<asp:Label ID="Label15" Text='<%# String.Format("{0:#,##0.000}",TotalePeso)
%>' Runat="server" />

non visualizza nulla (cella vuota) e io non capisco il motivo


cmq io avrei voluto fare qualche cosa del tipo

<asp:Label ID="Label15" Text='<%#
String.Format("{0:#,##0.000}",TotalePeso/TotalePunteggio) %>' Runat="server"
/>

quindi il rapporto tra i totali delle due colonne

Dove sbaglio?

Grazie per l'aiuto

ricky Profilo | Junior Member

Perchè dovrei usare DataItem l'elemento che voglio visualizzare è una variabile generata nel codenehid e non un campo del DB
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