我正在使用数据集,并将返回正负货币数字。我周围已经有一个括号。如何仅将gridview中的负数显示为红色?我可以在HTML端执行此操作吗?
答案 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)
有很多方法可以做到这一点,两个想到的是:
color
设置为红色。Color
属性以呈现数字。如果没有一些代码,很难给出具体的例子。
答案 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 这样的范围。