Acá está la solución, ahora tengo que llevarlo a mi FORM.

 

oForm=Createobject("myForm")

oForm.AddObject('myGrid1','myGrid')

oForm.myGrid1.column1.header1.Caption = "Name"

oForm.myGrid1.column2.header1.Caption = "Color"

oForm.myGrid1.column2.Sparse = .F.

oForm.myGrid1.column2.AddObject("Habilitar1", "Habilitar")
&&("TextRed1","TextRed")

oForm.myGrid1.column2.AddObject("DesHabilitar1","Deshabilitar")

*oForm.myGrid1.column2.AddObject("TextYellow1","TextYellow")

oForm.Show(1)

 

 

 

Define Class myForm As Form

    AutoCenter = .T.

    Procedure Load()

    Create Cursor myCursor (Name C(20),Color C(10))

    Insert Into myCursor (Name,Color) Values ("MIKE","BLUE")

    Insert Into myCursor (Name,Color) Values ("JOHN","RED")

    Insert Into myCursor (Name,Color) Values ("PAUL","YELLOW")

    Go Top

Endproc

Enddefine

 

Define Class myGrid As Grid

    Visible = .T.

    ColumnCount = 2

    Width = 200

    Top = 20

    Left = 20

    Procedure Init()

    With This

        .column2.DynamicCurrentControl = "dynamic()"

        This.Parent.LockScreen = .F.

    Endwith

Endproc

ENDDEFINE

 

DEFINE CLASS Habilitar As CommandButton

      Caption = "Habilitar"

      Visible = .T.

    Procedure Click

    This.Parent.Parent.Parent.LockScreen = .T.

    This.Parent.Parent.Init()

      

ENDDEFINE

 

DEFINE CLASS DesHabilitar As CommandButton

      Caption = "DesHabilitar"

      Visible = .T.     

    Procedure Click

    This.Parent.Parent.Parent.LockScreen = .T.

    This.Parent.Parent.Init()

ENDDEFINE

 

Define Class TextRed As TextBox

    BackColor = Rgb(255,0,0)

    Visible = .T.

    Procedure Click

    This.Parent.Parent.Parent.LockScreen = .T.

    This.Parent.Parent.Init()

Endproc

Enddefine

Define Class TextBlue As TextBox

    BackColor = Rgb(0,128,255)

    Visible = .T.

    Procedure Click

    This.Parent.Parent.Parent.LockScreen = .T.

    This.Parent.Parent.Init()

Endproc

Enddefine

Define Class TextYellow As TextBox

    BackColor = Rgb(255,255,0)

    Visible = .T.

    Procedure Click

    This.Parent.Parent.Parent.LockScreen = .T.

    This.Parent.Parent.Init()

Endproc

Enddefine

 

Function Dynamic

Do Case

Case myCursor.Color = "RED"

    Return "Habilitar1"

Case myCursor.Color = "BLUE"

    Return "DesHabilitar1"

Case myCursor.Color = "YELLOW"

    Return "textYellow1"

Endcase

Endfunc

 

Leído en http://www.tek-tips.com/faqs.cfm?fid=1939

 

GRACIAS A TODOS.

 

 

De: [email protected] [mailto:[email protected]] En nombre de Alejandro Paciotti
Iacchelli
Enviado el: domingo, 22 de abril de 2012 10:37 p.m.
Para: GUFA List Member
Asunto: [GUFA] Command Button en un grid

 

Y en este no tira ningún error, pero no funciona.

 

En el DynamicCurrentControl puse:   =IIF(ArticulosLocales.Habilitado,
"Command1", "Command2")

 

Pero naa.

 

A TODOS, MUCHAS GRACIAS.

 

De: [email protected] [mailto:[email protected]] En nombre de Eduardo E. Tkachuk
Enviado el: sábado, 21 de abril de 2012 08:42 p.m.
Para: GUFA List Member
Asunto: [GUFA] Command Button en un grid

 

 

Upa! , nop , yo mismo me corrijo. Este control es para controlar los objetos
que están colocados dentro de la columna, ja! , tendrías , para usarlo , que
colocar tres botones con acciones distintas cada uno, en su click
obviamente, o tantos como necesites y con el iff() , en el
DynamicCurrentControl , activas uno u el otro, según validación contra tabla
o cursor como puse en el mail anterior. 

 

Un desliz

 

Saludos  de nuevo

 

 

 

 

De: [email protected] [mailto:[email protected]] En nombre de Eduardo E. Tkachuk
Enviado el: Sábado, 21 de Abril de 2012 08:23 p.m.
Para: GUFA List Member
Asunto: [GUFA] Command Button en un grid

 

Alejandro 

 

Quizás lo puedas resolver dentro de la columna donde está el botón colocado
, con la propiedad DynamicCurrentcontrol . Proba poner un iif() validando
contra el campo que necesites del cursor o la tabla.

 

Después contadnos si estas más cerca de la solución 

 

Saludos 

 

Eduardo 

 

De: [email protected] [mailto:[email protected]] En nombre de Alejandro Paciotti
Iacchelli
Enviado el: Sábado, 21 de Abril de 2012 08:05 p.m.
Para: GUFA List Member
Asunto: [GUFA] Command Button en un grid

 

Creo que no. Ya que necesito que cuando cargo todo el cursor en el grid cada
botón tome un caption distinto dependiendo del valor del registro. (Ej: Si
el valor del campo es 1. Agregar, 2. Borrar. 3. Modificar).

Gracias.

PD: Temporalmente lo dejé y le puse un menú contextual a cada objeto del
grid. Con eso me arreglo por ahora.

 

De: [email protected] [mailto:[email protected]] En nombre de Omar Bellio
Enviado el: sábado, 21 de abril de 2012 08:02 p.m.
Para: GUFA List Member
Asunto: [GUFA] Command Button en un grid

 

Llamando a una función en el AfterRowColChange?

 

De: [email protected] [mailto:[email protected]] En nombre de Alejandro Paciotti
Iacchelli
Enviado el: sábado, 21 de abril de 2012 07:46 p.m.
Para: GUFA List Member
Asunto: [GUFA] Command Button en un grid

 

Estimados colisteros: ¿ alguien tiene idea como puedo cambiar dinámicamente
el caption de un botón que está dentro de una grid dependiendo del valor de
cada registro ?

 

Desde ya, muchas gracias.

 

Saludos.

 

Alejandro Paciotti Iacchelli

Responder a