通过 Repeater1.Controls.Add(..) 可以动态向Repeart中添加要显示的内容
@camille繁花: 你的需求是什么?难道就是显示一条汇总数据?
@camille繁花:
这个可能不需要用Repeater
@camille繁花:
看到图片了,这个没有必要用Repeater,实在要用也可以。
稍等,我写一下示例代码
@camille繁花:
参考代码:
.aspx部分
<asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> <table> <tr><td>标题1</td><td>标题2</td><td>标题3</td><td>标题4</td><td>标题5</td></tr> <tr> </HeaderTemplate> <ItemTemplate> <td><%#Container.DataItem %></td> </ItemTemplate> <FooterTemplate> </tr> </table> </FooterTemplate> </asp:Repeater>
.aspx.cs部分
protected void Page_Load(object sender, EventArgs e) { int[] sumData = new int[] { 1, 2, 3, 4, 5 }; Repeater1.DataSource = sumData; Repeater1.DataBind(); }
---------------------------------------------------前台 -----------------------------------------
<ItemTemplate>
<tr>
<td><%# Eval("S_Month")%>日</td>
<td><%# Eval("S_IP")%></td>
<td><%# GetPercentage(Eval("S_IP").ToString(),Session["zongtemp"].ToString())%>%</td>
<td><%# Eval("S_View")%></td>
<td><%# GetPercentage(Eval("S_View").ToString(),Session["temp"].ToString())%>%</td>
</tr>
</ItemTemplate>
GetPercentage()主要是这个方法
---------------------------------------------------前台 -----------------------------------------
---------------------------------------------------后台-----------------------------------------
/// <summary>
/// 获取百分比
/// </summary>
/// <returns></returns>
public string GetPercentage(string today, string total)
{
//总的条数
float zong = Convert.ToInt64(total);
float C_today = Convert.ToInt64(today);
float percentage = (C_today / zong) * 100;
//保留一位小数
double percentage1 = Math.Round(percentage, 1);
return percentage1.ToString();
}
---------------------------------------------------后台-----------------------------------------
不是很明白。我eval里绑定的应该是什么?传到后台去的参数不是应该是我绑定的那个么?方法里面怎么才能只显示我算出来的不显示表里面的数据?
@camille繁花: Eval里绑定的是你要传入的数据撒,这个方法还回的是一个string 不用改变什么,你要自己去试一下就明白了,
1、如果合计结果是增加列,那么在ItemTemplate中多配置一列即可;
2、如果合计结果是一行,那么就在FooterTemplate中配置一行即可;