我需要根据 GridView 中的值在 GridView 列内显示一个红色/橙色/绿色图标。我已经设法显示红色/绿色,但我无法显示橙色图标。当两个值之间的差异在 +/- 5% 之间时,需要出现黄色图标。
我的红色/绿色工作代码如下:
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Image ID="Image3" runat="server" Height="20px" ImageUrl='<%#
IIF((CType(Container,GridViewRow).RowIndex =2),
IIF((Eval("A") > Eval("B")),
"~/Images/Icons/iGreen.png", "~/Images/Icons/iRed.png"),
IIF((Eval("A") > Eval("B")),
"~/Images/Icons/iRed.png", "~/Images/Icons/iGreen.png")) %>' Width="20px" />
</ItemTemplate>
</asp:TemplateField>
我的非工作代码如下:
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Image ID="Image3" runat="server" Height="20px" ImageUrl='<%#
IIF((CType(Container,GridViewRow).RowIndex =2),
IIF( abs((Eval("A") / Eval("B"))-1) < 0.05 ,
"~/Images/Icons/iOrange.png",
IIF((Eval("A") > Eval("B")),
"~/Images/Icons/iGreen.png", "~/Images/Icons/iRed.png"),
IIF((Eval("A") > Eval("B")),
"~/Images/Icons/iRed.png", "~/Images/Icons/iGreen.png"))) %>' Width="20px" />
</ItemTemplate>
</asp:TemplateField>
使用上面的代码,我收到以下错误:
'abs' is not declared. It may be inaccessible due to its protection level.
我也尝试过使用 (^2) 平方而不是 'abs' (绝对值),但它也不起作用。
关于如何让这个工作的任何想法?
谢谢