Por favor ayuda con este codigo
Publicado por luis (7 intervenciones) el 17/09/2009 17:56:49
hola masters.
Trabajo en Vfp 8. Pretendo armar un grid con datos y una casilla de verficacion a los efectos de que el usuario me seleccione los registros deseados. Mi objetivo es que cuando el usuario tilde el registro en la casilla de verificación la fila se me resalte y cuando lo destilde la fila vuelva a su color original. Estoy cerca de conseguir lo que pretendo, pero algo le falta a mi codigo, puesto que cuando el usuario tilda un registro el mismo se resalta recién cuando paso a otro registro y no en ese momento.
En definitiva quiero conseguir que en el grid me queden resaltados todos los registros que el usuario seleccionó con el tilde.
Les adjunto mi codigo el cual lo pueden pegar en un prg y ejecutarlo para ver su comportamiento y
de esa manera me ayuden a corregirlo.
Este es el Codigo:
Public oForm
oForm = Createobject("FrmGrid")
oForm.AddObject("Grid1","Grid")
With oForm.Grid1
.ColumnCount = 3
.Height = 288
.Width = 340
.Left = 24
.Top = 24
.deletemark=.f.
.Column1.Width= 17
.column1.alignment = 2
.Column1.Header1.Caption= ""
.Column1.AddObject("Check1","CheckBox")
.column1.check1.name="check1"
.Column1.Check1.Visible = .T.
.Column1.CurrentControl= "Check1"
.Column1.Sparse= .F.
.Column3.Width= 240
.Column3.Header1.Caption= "Detalle"
.Column2.Width= 50
.Column2.Header1.Caption= "Código"
.SetAll("DynamicBackColor","IIF(Ok, RGB(0,220,210), RGB(255,255,255))", "COLUMN")
.refresh
.Visible = .T.
Endwith
oForm.Visible = .T.
Define Class FrmGrid As Form
Top = 0
Left = 0
Height = 334
Width = 390
DoCreate = .T.
Caption = "Seleccione las Materias"
WindowType = 1
WindowState = 0
Name = "FrmGrid"
autocenter=.t.
minbutton=.f.
maxbutton=.f.
* picture=wpath+"otros\lightbuffrock.bmp"
* icon=wpath+"otros\cana.ico"
Procedure Load
* Creo un Cursor con datos para la prueba *
CREATE CURSOR micursor (ok l,codigo n(3),detalle c(30))
INSERT INTO micursor values(.f.,1,"MATEMATICAS")
INSERT INTO micursor values(.f.,2,"LENGUA")
INSERT INTO micursor values(.f.,3,"HISTORIA")
INSERT INTO micursor values(.f.,4,"GEOGRAFIA")
INSERT INTO micursor values(.f.,5,"BIOLOGIA")
INSERT INTO micursor values(.f.,6,"INGLES")
INSERT INTO micursor values(.f.,7,"EDUC.FISICA")
INSERT INTO micursor values(.f.,8,"TALLER")
INSERT INTO micursor values(.f.,9,"TUTORIA")
SELECT micursor
GO top
EndProc
Procedure Unload
* Muestros los Registros Seleccionados *
SELECT * from micursor WHERE ok =.t. into CURSOR misregistros
BROWSE Title "Registros Seleccionados"
Use In micursor
EndProc
EndDefine
Trabajo en Vfp 8. Pretendo armar un grid con datos y una casilla de verficacion a los efectos de que el usuario me seleccione los registros deseados. Mi objetivo es que cuando el usuario tilde el registro en la casilla de verificación la fila se me resalte y cuando lo destilde la fila vuelva a su color original. Estoy cerca de conseguir lo que pretendo, pero algo le falta a mi codigo, puesto que cuando el usuario tilda un registro el mismo se resalta recién cuando paso a otro registro y no en ese momento.
En definitiva quiero conseguir que en el grid me queden resaltados todos los registros que el usuario seleccionó con el tilde.
Les adjunto mi codigo el cual lo pueden pegar en un prg y ejecutarlo para ver su comportamiento y
de esa manera me ayuden a corregirlo.
Este es el Codigo:
Public oForm
oForm = Createobject("FrmGrid")
oForm.AddObject("Grid1","Grid")
With oForm.Grid1
.ColumnCount = 3
.Height = 288
.Width = 340
.Left = 24
.Top = 24
.deletemark=.f.
.Column1.Width= 17
.column1.alignment = 2
.Column1.Header1.Caption= ""
.Column1.AddObject("Check1","CheckBox")
.column1.check1.name="check1"
.Column1.Check1.Visible = .T.
.Column1.CurrentControl= "Check1"
.Column1.Sparse= .F.
.Column3.Width= 240
.Column3.Header1.Caption= "Detalle"
.Column2.Width= 50
.Column2.Header1.Caption= "Código"
.SetAll("DynamicBackColor","IIF(Ok, RGB(0,220,210), RGB(255,255,255))", "COLUMN")
.refresh
.Visible = .T.
Endwith
oForm.Visible = .T.
Define Class FrmGrid As Form
Top = 0
Left = 0
Height = 334
Width = 390
DoCreate = .T.
Caption = "Seleccione las Materias"
WindowType = 1
WindowState = 0
Name = "FrmGrid"
autocenter=.t.
minbutton=.f.
maxbutton=.f.
* picture=wpath+"otros\lightbuffrock.bmp"
* icon=wpath+"otros\cana.ico"
Procedure Load
* Creo un Cursor con datos para la prueba *
CREATE CURSOR micursor (ok l,codigo n(3),detalle c(30))
INSERT INTO micursor values(.f.,1,"MATEMATICAS")
INSERT INTO micursor values(.f.,2,"LENGUA")
INSERT INTO micursor values(.f.,3,"HISTORIA")
INSERT INTO micursor values(.f.,4,"GEOGRAFIA")
INSERT INTO micursor values(.f.,5,"BIOLOGIA")
INSERT INTO micursor values(.f.,6,"INGLES")
INSERT INTO micursor values(.f.,7,"EDUC.FISICA")
INSERT INTO micursor values(.f.,8,"TALLER")
INSERT INTO micursor values(.f.,9,"TUTORIA")
SELECT micursor
GO top
EndProc
Procedure Unload
* Muestros los Registros Seleccionados *
SELECT * from micursor WHERE ok =.t. into CURSOR misregistros
BROWSE Title "Registros Seleccionados"
Use In micursor
EndProc
EndDefine
Valora esta pregunta


0