Cambiar Colores a una Fila en un Grid de Visual FoxPro
Tengo una tabla temporal, en la que vuelco datos filtrados de una tabla maestra, para poder mostrarlos más eficientemente en un grid. Allí solo tengo habilitado un campo, el primero, para hacerle modificaciones, luego con un botón grabo todo en la tabla maestra y listo.
Hasta ahí bien, ahora, quiero cambiar de color a las filas que hayan sido modificadas, osea, por defecto el valor del campo modificable es 0, y cuando ese valor cambie, quiero que el color de la fila también lo haga.
Hice lo que todos los ejemplos dicen, pero no pasa nada, cuando cambio el primer registro del grid, todas las filas empiezan a cambiar de color, independientemente de su valor.
Te paso el código que tengo así me dices que te parece.
**************************************************************
&& propiedades del grid
thisform.grid1.allowheadersizing = .f.
thisform.grid1.allowrowsizing = .f.
thisform.grid1.columncount = 14 && cantidad de columnas
thisform.grid1.deletemark = .f.
thisform.grid1.fontname = "tahoma"
thisform.grid1.fontsize = 9
thisform.grid1.headerheight = 24
*thisform.grID1.HighlightRow = .t.
thisform.grid1.recordmark = .t.
thisform.grid1.scrollbars = 2
thisform.grid1.GridLines = 1
*thisform.grid1.HighlightStyle = 1
thisform.grid1.recordsourcetype = 0 && tipo de datos para llenar el grid
thisform.grid1.recordsource = "tmp_gui" && nombre de la tabla a abrir en el grid
*** ACA ES DONDE CREO ESTA EL PROBLEMA
Thisform.Grid1.setall("DynamicBackColor","IIF(tmp_gui.h_r_gui <> 0,RGB(255,0,0),RGB(255,255,255))" , "Column")
***
&& propiedades de la primer columna
thisform.grid1.column1.width = 50
thisform.grid1.column1.movable = .f.
thisform.grid1.column1.readonly = .F.
thisform.grid1.column1.resizable = .f.
thisform.grid1.column1.fontbold = .T.
thisform.grid1.column1.header1.alignment = 2
thisform.grid1.column1.header1.backcolor = rgb(192,192,192)
thisform.grid1.column1.header1.caption = "H.R."
thisform.grid1.column1.text1.readonly = .f.
thisform.grid1.column1.text1.enabled = .t.
thisform.grid1.column1.text1.alignment = 2
Hasta ahí bien, ahora, quiero cambiar de color a las filas que hayan sido modificadas, osea, por defecto el valor del campo modificable es 0, y cuando ese valor cambie, quiero que el color de la fila también lo haga.
Hice lo que todos los ejemplos dicen, pero no pasa nada, cuando cambio el primer registro del grid, todas las filas empiezan a cambiar de color, independientemente de su valor.
Te paso el código que tengo así me dices que te parece.
**************************************************************
&& propiedades del grid
thisform.grid1.allowheadersizing = .f.
thisform.grid1.allowrowsizing = .f.
thisform.grid1.columncount = 14 && cantidad de columnas
thisform.grid1.deletemark = .f.
thisform.grid1.fontname = "tahoma"
thisform.grid1.fontsize = 9
thisform.grid1.headerheight = 24
*thisform.grID1.HighlightRow = .t.
thisform.grid1.recordmark = .t.
thisform.grid1.scrollbars = 2
thisform.grid1.GridLines = 1
*thisform.grid1.HighlightStyle = 1
thisform.grid1.recordsourcetype = 0 && tipo de datos para llenar el grid
thisform.grid1.recordsource = "tmp_gui" && nombre de la tabla a abrir en el grid
*** ACA ES DONDE CREO ESTA EL PROBLEMA
Thisform.Grid1.setall("DynamicBackColor","IIF(tmp_gui.h_r_gui <> 0,RGB(255,0,0),RGB(255,255,255))" , "Column")
***
&& propiedades de la primer columna
thisform.grid1.column1.width = 50
thisform.grid1.column1.movable = .f.
thisform.grid1.column1.readonly = .F.
thisform.grid1.column1.resizable = .f.
thisform.grid1.column1.fontbold = .T.
thisform.grid1.column1.header1.alignment = 2
thisform.grid1.column1.header1.backcolor = rgb(192,192,192)
thisform.grid1.column1.header1.caption = "H.R."
thisform.grid1.column1.text1.readonly = .f.
thisform.grid1.column1.text1.enabled = .t.
thisform.grid1.column1.text1.alignment = 2
1 respuesta
Respuesta de Alonso Jarrín Solís
1