我的ListView
项目ItemTemplate
如下:
<asp:Label runat="server" ID="lblChangeOrders"><%#Eval("sum")%></asp:Label>
我需要的是如果总和为负数我需要将字体颜色设置为RED
并删除减号。
答案 0 :(得分:3)
我会在contorl本身使用DataBinding
方法。
示例:
<asp:Label runat="server" ID="lblChangeOrders"
OnDataBinding="lbChangeOrder_DataBinding"></asp:Label>
protected void lbChangeOrder_DataBinding(object sender, System.EventArgs e)
{
Label lbl = (Label)(sender);
double sum = (double)(Eval("Sum"));
if (sum < 0)
{
sum *= -1;
lbl.ForeColor = "Red";
}
lbl.Text = sum.ToString();
}
我更喜欢在控件级别执行所有这些类型的tweek,这样您就可以更换控件,并且知道与之相关的所有内容。如果您在ItemDataBound
级别执行此操作,则不会对控件本身进行本地化。我很少使用ItemDataBound
事件。
答案 1 :(得分:1)
我的第一个想法是使用ItemDataBound event并检查总和。如果它是负数,则指定一个CSS类,将该元素着色为红色。