GridView中绑定数据的问题!

yrpretty 2009-03-03 11:30:11
前台:<asp:TemplateField HeaderText="xxx激活率">
<ItemTemplate>
<%# Ff()%> </ItemTemplate>
<HeaderStyle CssClass="label" />
<ItemStyle CssClass="item" HorizontalAlign="Center" />
</asp:TemplateField>

后台: public int Ff()
{
int str = 0;
for (int i = 1; i < gvList.Rows.Count; i++)
{
gvList.Rows[i].Cells[4].Text = (int.Parse(gvList.Rows[i].Cells[3].Text) - int.Parse(gvList.Rows[i - 1].Cells[3].Text)).ToString();
str = int.Parse(gvList.Rows[i].Cells[4].Text);
}
return str;
}

页面如下所示:
日期 总人数 激活人数 xxx激活率
2009-2-1 131867 18090 0
2009-2-2 131867 18652 562
2009-2-3 131867 19246 594
2009-2-4 131867 19967 594

请问:为什么会出现2个594呢?代码应该怎样改正呢?非常感谢!!!
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ReyZhang 2009-03-03
  • 打赏
  • 举报
回复
你这个计算 于其写成公有方法public来计算,倒不如放到GridView 里的RowDataBound事件去处理的好
mqc507 2009-03-03
  • 打赏
  • 举报
回复
前台: <asp:TemplateField HeaderText="xxx激活率">
<ItemTemplate>
<%# Ff()%> </ItemTemplate>
<HeaderStyle CssClass="label" />
<ItemStyle CssClass="item" HorizontalAlign="Center" />
</asp:TemplateField>

后台: public int Ff()
{
int str = 0;
for (int i = 1; i < gvList.Rows.Count; i++)
{
gvList.Rows[i].Cells[4].Text = (int.Parse(gvList.Rows[i].Cells[3].Text) - int.Parse(gvList.Rows[i - 1].Cells[3].Text)).ToString();
str = int.Parse(gvList.Rows[i].Cells[4].Text);
}
return str;
}

============》 真不晓得你的 Ff有么用呢?不传入参数,这个Ff()的返回值应该是固定的吧

不晓得下面该对不对:
前台:

<asp:TemplateField HeaderText="xxx激活率">
<ItemTemplate>
<%# Ff(Container.ItemIndex)%> </ItemTemplate>
<HeaderStyle CssClass="label" />
<ItemStyle CssClass="item" HorizontalAlign="Center" />
</asp:TemplateField>


后台:

public int Ff(int index)
{
int str = 0;
//并不需要循环,而是根据传入的index参数活得返回值
return str;
}


yrpretty 2009-03-03
  • 打赏
  • 举报
回复
Ff() 这个方法一共执行多少次啊?是在绑定gridView的每一行的时候都执行一次,还是只执行一次啊?

public int Ff()
{
int str = 0;
for (int i = 1; i < gvList.Rows.Count; i++)
{
gvList.Rows[i].Cells[4].Text = (int.Parse(gvList.Rows[i].Cells[3].Text) - int.Parse(gvList.Rows[i - 1].Cells[3].Text)).ToString();
str = int.Parse(gvList.Rows[i].Cells[4].Text);
}
return str;
}
这个方法最后只能返回一个整数,那么用for循环是不是不对呢!谢谢!
阿云ivan 2009-03-03
  • 打赏
  • 举报
回复
数据源问题

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧