如何将负数变为红色?

时间:2009-03-12 17:58:42

标签: c# .net asp.net html

我正在使用数据集,并将返回正负货币数字。我周围已经有一个括号。如何仅将gridview中的负数显示为红色?我可以在HTML端执行此操作吗?

5 个答案:

答案 0 :(得分:6)

如果数字为负数,我会将控件的CssClass设置为按照您想要的方式设置文本样式。使用CssClass而不是FontColor的原因是您将来可能会更改它,并且更改CSS样式而不是任何使用它的代码会更容易。

<asp:BoundField runat="server"
    DataField="Value"
    HeaderText="value"
    ItemStyleCssClass='<% (double)Eval("Value") < 0 ? "negative-number" : "" %>' />

答案 1 :(得分:5)

如果不使用具有格式规则的第三方控件,我会使用Row的数据绑定事件,并在其为负数时为相关单元格的文本着色。这会给UI层增加一点点重量,但是在你交付数千和数千行之前,这一点还不够明显。如果要提供成千上万的行,则可能存在架构问题。

答案 2 :(得分:0)

有很多方法可以做到这一点,两个想到的是:

  1. 应用一个CSS类,将元素的color设置为红色。
  2. 在您正在使用的WebControl上设置Color属性以呈现数字。
  3. 如果没有一些代码,很难给出具体的例子。

答案 3 :(得分:0)

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {

   myCell = new TableCell();       
   myCell.Text =   e.Row.DataItemIndex.ToString();
   myCell.Style["color"] = decimal.Parse(myCell.Text)<0?"Red":"OtherColor";
   e.Row.Cells.Add(myCell);


}

或类似的东西

答案 4 :(得分:0)

您可以尝试使用jQuery样式:

jQuery的:

$("span:contains('-')").css("color", "#f00");

当然,更改您的号码所在的任何标签的范围(并考虑进入更具体的范围,而不仅仅是像 span.number-container 这样的范围。