Aquí podría ser tu PUBLICIDAD


¿Cómo puedo convertir los números negativos en rojos?

votos
2

Estoy trabajando con un conjunto de datos, y devolveré cifras monetarias tanto positivas como negativas. Ya tengo un paréntesis al respecto. ¿Cómo obtengo solo los números negativos en la vista de cuadrícula para que aparezcan en rojo? ¿Puedo hacer esto en el lado HTML?

Publicado el 12/03/2009 a las 18:58
fuente por usuario MrM
En otros idiomas...        العربية       

5 respuestas

votos
6

Establecería CssClass del control en algo que estilice el texto de la forma que desee si el número es negativo. La razón para utilizar CssClass en lugar de FontColor es que puede cambiar esto en el futuro y será más fácil simplemente cambiar el estilo CSS en lugar de cualquier código que lo use.

<asp:BoundField runat="server"
    DataField="Value"
    HeaderText="value"
    ItemStyleCssClass='<% (double)Eval("Value") < 0 ? "negative-number" : "" %>' />
Respondida el 12/03/2009 a las 07:10
fuente por usuario tvanfosson


Aquí podría ser tu PUBLICIDAD


votos
5

Sin ir a un control de un tercero que tenga reglas de formato, utilizaría el evento de enlace de datos de la fila y colorearé el texto de la celda en cuestión cuando sea negativo. Esto agrega un poco de peso a la capa de la interfaz de usuario, pero no será suficiente hasta que entregue miles y miles de filas. Si está entregando miles y miles de filas, probablemente tenga un problema de arquitectura.

Respondida el 12/03/2009 a las 07:02
fuente por usuario Gregory A Beamer

votos
0

Puedes probar el estilo con jQuery:

jQuery:

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

Por supuesto, cambie el lapso para cualquier etiqueta en la que esté su número (y considere entrar en algo más específico que simplemente span como span.number-container, por ejemplo.

Respondida el 12/03/2009 a las 07:26
fuente por usuario mbillard

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


}

o algo así

Respondida el 12/03/2009 a las 07:14
fuente por usuario Oscar Cabrero

votos
0

Hay muchas maneras de hacer esto, dos vueltas a la mente:

  1. Aplique una clase de CSS que establecerá el elemento coloren rojo.
  2. Establezca la Colorpropiedad en el WebControl que está utilizando para representar el número.

Sin algún código, será difícil darle ejemplos específicos.

Respondida el 12/03/2009 a las 07:01
fuente por usuario Andrew Hare