I can do it, for example, in this way:
Code: Select all
#include "hmg.ch"
Function Main()
select 1
Use ptvartic Alias Articulos
aCtrl_1 := {'TEXTBOX','CHARACTER'}
aCtrl_2 := {'TEXTBOX','CHARACTER'}
aCtrl_3 := {'TEXTBOX','CHARACTER'}
aCtrl_4 := {'TEXTBOX','NUMERIC','9999999999'}
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 522 HEIGHT 540 ;
TITLE "Products in the Stock" ;
FONT "Segoe UI" SIZE 09 ;
MAIN NOSIZE ;
ON RELEASE DbCloseAll()
@ 10, 10 GRID Grid_1 ;
WIDTH 495 ;
HEIGHT 490 ;
HEADERS { "Code", "Description", "Unit", "In Stock" } ;
WIDTHS { 55, 290, 50, 90 } ;
EDIT ;
VALUE {9,2} ;
COLUMNCONTROLS { aCtrl_1 , aCtrl_2 , aCtrl_3 , aCtrl_4 } ;
FONT "Segoe UI" SIZE 09 ;
BACKCOLOR { 244,244,244 } ;
ROWSOURCE "Articulos" ;
COLUMNFIELDS { "Articulos->f_cve_art", "Articulos->f_nomb_art", "Articulos->UNIT", "Articulos->Q" } ;
COLUMNWHEN { { || .T. } , { || .T. } , { || .T. } , { || chkkg() } } ;
NOLINES ;
JUSTIFY { BROWSE_JTFY_LEFT, BROWSE_JTFY_LEFT, BROWSE_JTFY_LEFT, BROWSE_JTFY_RIGHT }
END WINDOW
Form_1.Grid_1.SETFOCUS
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return Nil
FUNCTION chkkg()
Local idx:=_HMG_SYSDATA [ 203 ]
Local aCtrl_1 := {'TEXTBOX','CHARACTER'}
Local aCtrl_2 := {'TEXTBOX','CHARACTER'}
Local aCtrl_3 := {'TEXTBOX','CHARACTER'}
Local aCtrl_4, aControls
IF Form_1.Grid_1.CellEx( Form_1.Grid_1.CellRowFocused , 3 )#'kg'
aCtrl_4 := {'TEXTBOX','NUMERIC','9999999999'}
ELSE
aCtrl_4 := {'TEXTBOX','NUMERIC','999999.999','E'}
ENDIF
aControls:={ aCtrl_1 , aCtrl_2 , aCtrl_3 , aCtrl_4 }
_HMG_SYSDATA [ 40 ] [idx] [ 2 ] := aControls
RETURN .T.