************************************************** >*-- Class: gcheck (f:\rad\vfprc\generall.vcx) >*-- ParentClass: checkbox >*-- BaseClass: checkbox >*-- Time Stamp: 07/08/2006 07:13:01 PM >* >DEFINE CLASS gcheck AS checkbox > > Alignment = 0 > BackStyle = 0 > Caption = ("*******") > *-- caption for .t. > caption_yes = ("") > *-- caption for .f. > caption_no = ("") > Name = "gcheck" > > > PROCEDURE value_assign > LPARAMETERS vNewVal > *To do: Modify this routine for the Assign method > if !empt(m.vNewVal) and !empt(this.caption_yes) > this.caption=this.caption_yes > endif > if Empty(m.vNewVal) and !empt(this.caption_no) > this.caption=this.caption_no > endif > this.refresh() > THIS.Value = m.vNewVal > ENDPROC > > > PROCEDURE Init > this.value=this.value > ENDPROC > > > PROCEDURE Click > dodefault() > this.refresh() > nodefault > ENDPROC > > > PROCEDURE InteractiveChange > this.value=this.value > ENDPROC > > >ENDDEFINE >* >*-- EndDefine: gcheck >************************************************** >I think in order for the above code to work in a grid, the checkbox control Refresh method has to fire. But when I put some "test" code in the Refresh method of the checkbox, it never fires. You see, the InteractiveChange or Click() do not work because user does not change the value. All I want is that based on whatever value is in the field to show (in grid) Yes or No. But now that I am describing it, maybe I should change the control from checkbox to textbox and - maybe - the refresh will fire in a text box.