Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

Estas en el tema de Cambiar el color de una celda en tdbgrid de acuerdo a una condicion en el foro de Visual Basic clásico en Foros del Web. Hola amigos, encontre este foro por la web y espero me puedan ayudar: Como hago para que el fondo de la celda de un control ...
  #1 (permalink)  
Antiguo 18/03/2007, 08:04
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 1
Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

Hola amigos, encontre este foro por la web y espero me puedan ayudar:
Como hago para que el fondo de la celda de un control TdbGrid cambie por un color determinado, es decir por ejemplo si la colmna 2 esta enlazada a un campo stock, yo quiero que me muestre un color de fondo rojo, de aquellos productos cuyo stock sea 1, y los demas con el color normal

Gracias y espero su respuesta.
  #2 (permalink)  
Antiguo 19/03/2007, 02:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

Hola

Prueba lo siguiente:

Código:
Dim Negativo as New TrueOleDBGrid80.Style

Negativo.BackColor=RGB(255,0,0)
Rejilla.Columns(24).AddRegexCellStyle 0, Negativo, "-1"
En este ejemplo creo un estilo con fondo rojo y aplico ese estilo a la columna 24 en el caso de que la cantidad sea -1

--Saludos--
  #3 (permalink)  
Antiguo 19/03/2007, 07:55
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

HOla, gracias por tu respuesta, pero sigo teniendo el problema,. cuando -1 lo cambio por 1, todas las celdas que contienen el valor 1 los pone con color rojo, y como puedo hacer para trabajar con rangos de datos.

Gracias y espero tu pronta respuesta.
  #4 (permalink)  
Antiguo 19/03/2007, 08:44
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

Hola

No entiendo lo que quieres decir con trabajar con rangos de datos. El código que te muestro es para poner fondo rojo a todas las celdas que cumplan la condición dentro de la columna indicada. No es eso lo que buscabas?

--Saludos--
  #5 (permalink)  
Antiguo 19/03/2007, 10:51
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

Hola, disculpa, creo que no me deje entender,
te explico, tu ejemplo esta bien, pero el problema es que cuando por ejemplo cambio -1 por 1, me sobrear con rojo todas las celdas que contengan 1, es decir 10.00,1.00,101.00, y casos asi, lo que yo deseo es que solo me sombree con fondo rojo todas las celdas que sean igual a 1.00,

Gracias y espero tu respuesta.
  #6 (permalink)  
Antiguo 20/03/2007, 02:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

OK

Creo que puedes hacerlo utilizando el simbolo ^ (que significa que comience por) y con el $ (que significa que termine en), de tal forma que con ^1$ le dices que sea 1. Prueba con lo siguiente:

Código:
Dim Negativo as New TrueOleDBGrid80.Style

Negativo.BackColor=RGB(255,0,0)
Rejilla.Columns(24).AddRegexCellStyle 0, Negativo, "^1$"
--Saludos--
  #7 (permalink)  
Antiguo 30/03/2007, 09:58
Avatar de juanutcm
Usuario no validado
 
Fecha de Ingreso: marzo-2005
Mensajes: 194
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

hola yo tengo una pregunta similar solo que yo deseo cambiar el fondo de la fila seleccionada en un MshFlexGrid ojala puedan ayudarme
  #8 (permalink)  
Antiguo 02/04/2007, 00:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

Hola

Para cambiar el color de la línea completa, utilizo el siguiente código:

Código:
Dim Anuleta As New TrueOleDBGrid80.Style

Form_Load
'Pone una linea de la rejilla de un color determinado
    Rejilla.FetchRowStyle = True 'Para poder aplicar el color de linea tiene q estar en true
    Set Anuleta = Rejilla.Styles.Add("Anuleta") 'Cargamos el estilo
    Anuleta.BackColor = vbRed 'Definimos el estilo (podemos poner mas cosas como font.italic, font.bold, .forecolor,...)

Rejilla_FetchRowStyle
If Rejilla.Columns(24).CellText(Bookmark) = "-1" Then
        RowStyle = Anuleta
End If
En mi ejemplo, pongo todas las lineas que tengan valor -1 en la columna 24 a rojo, si lo que quieres es que cambie de color al hacer click en una línea tendrás que adaptarlo, tal vez, en el evento click.

--Saludos--
  #9 (permalink)  
Antiguo 09/04/2007, 11:58
Avatar de juanutcm
Usuario no validado
 
Fecha de Ingreso: marzo-2005
Mensajes: 194
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

gracias lo checo y vemos que pasa...
  #10 (permalink)  
Antiguo 25/08/2008, 10:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 2
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta: Cambiar el color de una celda dando clic sobre ella en un datagrid en C#

Por fa alguien me podría ayudar a como cambiar el color de una celda dando clic con el mouse sobre ella, en en datagrid en C# 2005
  #11 (permalink)  
Antiguo 26/08/2008, 11:39
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Cambiar el color de una celda en tdbgrid de acuerdo a una condicion

Hola...

Fred_10, este foro es de Visual Basic, dificilmente vas a encontrar ayuda con C#... y además estás reviviendo un hilo de hace más de un año...
__________________
wile sona li mute e sona
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 10:36.