簡體   English   中英

如何將負數變為紅色?

[英]How do I Turn negative numbers red?

我正在使用數據集,並將返回正負貨幣數字。 我周圍已經有一個括號。 如何僅將gridview中的負數顯示為紅色? 我可以在HTML端執行此操作嗎?

如果數字為負數,我會將控件的CssClass設置為按照您想要的方式設置文本樣式。 使用CssClass而不是FontColor的原因是您將來可以更改它,並且更改CSS樣式而不是使用它的任何代碼將更容易。

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

如果不使用具有格式化規則的第三方控件,我將使用Row的數據綁定事件,並在其為負數時為相關單元格的文本着色。 這會給UI層增加一點點重量,但是在你交付數千和數千行之前,這一點還不夠明顯。 如果要傳遞成千上萬行,則可能存在架構問題。

有很多方法可以做到這一點,兩個想到的是:

  1. 應用一個CSS類,將元素的color設置為紅色。
  2. 在用於呈現數字的WebControl上設置Color屬性。

沒有一些代碼,很難給出具體的例子。

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);


}

或類似的東西

你可以嘗試使用jQuery樣式:

jQuery的:

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

當然,改變你的號碼所在的任何標簽的跨度(並考慮進入比span.number-container這樣的跨度更具體的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM