ASP GridView计算列

时间:2015-06-10 07:30:34

标签: asp.net gridview

我需要查看您对以下内容的看法。

我有一个有计算列的网格。使用(Col A - col B) / SomeLabelAtTopofPage.Text

完成计算

问题 - 在网格声明中完成这些计算是一种好习惯吗? (我个人不喜欢它,我喜欢尽可能保持我的ASPX干净)

示例:

<asp:TemplateField HeaderText="Calculated Column" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <span><%# (double.Parse(Eval("A").ToString()) - double.Parse(Eval("B").ToString())) / double.Parse(SomeLabelAtTopofPage.Text) %></span> </ItemTemplate> </asp:TemplateField>

或者在网格的DataBound事件中更好吗?

var calcVal = ((Convert.ToDouble(e.Row.Cells[2].Text) - Convert.ToDouble(e.Row.Cells[3].Text)) / Convert.ToDouble(SomeLabelAtTopofPage.Text)) * 100;

e.Row.Cells[12].Text = string.Format("{0:0.000%}", calcVal);

我宁愿在存储过程的源代码处执行此操作,但由于某些原因,我无法修改proc。

任何人都可以指导我,有什么更好的方法来做到这一点以及为什么?

谢谢

0 个答案:

没有答案