将计算列添加到GridView

时间:2016-12-21 15:25:16

标签: c# asp.net gridview

我有一个有两列的GridView,我想添加一个第三列,它将是A列除以B列。我添加了一个模板字段,但是我得到的是除零错误。如何检查零值以停止错误消息?

<asp:TemplateField>
    <ItemTemplate>
        <asp:Label ID="lblCalc" runat="server" >
          <%# Convert.ToDecimal(Eval("val1").ToString()) / Convert.ToDecimal(Eval("val2").ToString()) %>
        </asp:Label>
    </ItemTemplate>
</asp:TemplateField>

1 个答案:

答案 0 :(得分:2)

是的,你确定可以。你甚至可以内联,但这会使你的标记过于混乱,所以我建议将这段代码移到后面。

protected decimal Calculate(string a, string b)
{
    decimal ad = Convert.ToDecimal(a);
    decimal bd = Convert.ToDecimal(bd);

    if (bd == 0)
    {
        return 0; // or whatever
    }

    return ad / bd;
}

打电话给:

<asp:Label ID="lblCalc" runat="server" >
    <%# Calculate(Eval("val1").ToString(), Eval("val2").ToString()) %>
</Label>