Con fecha 17/04/2010, pregunta "Pintar celda dw", autorespondo con una alternativa al caso.

La pregunta original cita:

"Hola como estas experto quisiera saber si es posible que al seleccionar una celda de un datawindow grid solo el fondo de la celda al que haga click secambiase, es que estoy realizando un horario y me urge poder llevar acabo dicha tarea"

Resolución alternativa:

-----------------------------

.- Copiar este código en el evento clicked del dw:

string ls_columna, ls_dato, ls_modifica
ls_columna = dwo.name
ls_dato = "**********"
if ls_columna = "lunes" or ls_columna = "martes" or ls_columna = "miércoles" or ls_columna = "jueves" or ls_columna = "viernes" or ls_columna = "sábado" or ls_columna = "domingo" then
if isnull(trim(dw_1.GetItemString(row,ls_columna))) or dw_1.GetItemString(row,ls_columna) <> ls_dato then
dw_1.setitem(row,ls_columna,ls_dato)
ls_modifica = ls_columna+".color='" + string(RGB(255,0,0)) + "'" //poner texto en color rojo
dw_1.Modify(ls_modifica)
end if
end if

.- El dw, para este ejemplo, es un external/grid, versión PB 6.5. No sé como insertar la imagen como para mostrarla aquí.

.- Algo extra, si se quiere quitar el valor ingresado en cada celda, hacer sobre ella doble click. Aquí el código a pegar en el evento doubleclicked del dw:

string ls_columna, ls_dato, ls_modifica
ls_columna = dwo.name
ls_dato = "**********"
if ls_columna = "lunes" or ls_columna = "martes" or ls_columna = "miercoles" or ls_columna = "jueves" or ls_columna = "viernes" or ls_columna = "sabado" or ls_columna = "domingo" then
 if not isnull(trim(dw_1.GetItemString(row,ls_columna))) or dw_1.GetItemString(row,ls_columna) = ls_dato then
 dw_1.setitem(row,ls_columna,"")
 end if
end if

Añade tu respuesta

Haz clic para o