GridView の値に基づいて、GridView 列内に赤/オレンジ/緑のアイコンを表示する必要があります。赤/緑を表示することはできましたが、オレンジ色のアイコンを表示するのに問題があります。2 つの値の差異が +/- 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.
'abs' (絶対値) の代わりに (^2) 二乗を使用しようとしましたが、どちらも機能しません。
これを機能させる方法についてのアイデアはありますか?
ありがとう