>>oForm = CREATEOBJECT([Form1]) >>oForm.Show() >>READ EVENTS >> >> >> >>DEFINE CLASS form1 AS Form >> >> >> Top = 0 >> Left = 0 >> Height = 728 >> Width = 618 >> DoCreate = .T. >> >> *** CHANGE this to be more that 21 and see what happens with grid >> defaultreplicate = 21 >> >> >> ADD OBJECT grid1 AS grid WITH ; >> ColumnCount = 2, ; >> Height = 479, ; >> Left = 21, ; >> Panel = 1, ; >> RecordSource = "ctest", ; >> RowHeight = 72, ; >> Top = 247, ; >> Width = 595, ; >> Name = "Grid1", ; >> Column1.ControlSource = "ctest.Fld1", ; >> Column1.Name = "Column1", ; >> Column2.ControlSource = "(thisform.ReturnMyVar())", ; >> Column2.Width = 474, ; >> Column2.Sparse = .F., ; >> Column2.Name = "Column2" >> >> >> >> ADD OBJECT edit1 AS editbox WITH ; >> Height = 183, ; >> Left = 17, ; >> Top = 9, ; >> Width = 279, ; >> Name = "Edit1",; >> ControlSource = [(thisform.Returnmyvar(50))] >> >> >> ADD OBJECT command1 AS commandbutton WITH ; >> Top = 208, ; >> Left = 211, ; >> Height = 27, ; >> Width = 84, ; >> Caption = "Command1", ; >> Name = "Command1" >> >> >> PROCEDURE ReturnMyVar(nCount) >> nCount = IIF(VARTYPE(nCount) # [N], thisform.DefaultReplicate, nCount) >> o1 = SYS(2015) >> RETURN REPLICATE(o1+CHR(13)+CHR(10),nCount) >> ENDPROC >> >> >> PROCEDURE Load >> CREATE CURSOR cTest (fld1 I) >> FOR asd = 1 TO 20 >> INSERT INTO cTest VALUES (asd) >> NEXT >> GO TOP >> ENDPROC >> >> PROCEDURE Init >> WITH thisform.Grid1.Column2 >> .AddObject([Edit1],[EditBox]) >> .removeObject([Text1]) >> .CurrentControl = [Edit1] >> .ControlSource = "(thisform.ReturnMyVar())" >> .Sparse = .f. >> .Edit1.Visible = .t. >> ENDWITH >> ENDPROC >> >> PROCEDURE command1.Click >> thisform.Edit1.Refresh() >> ENDPROC >> >> PROCEDURE Destroy >> CLEAR EVENTS >> ENDPROC >> >>ENDDEFINE >>>>
>oForm = CREATEOBJECT([Form1]) >oForm.Show() >READ EVENTS > > > >DEFINE CLASS form1 AS Form > > > Height = 728 > Width = 618 > > *** CHANGE this to be more that 21 and see what happens with grid > defaultreplicate = 33 > > > ADD OBJECT grid1 AS grid WITH ; > ColumnCount = 2, ; > Height = 479, ; > Left = 21, ; > Panel = 1, ; > RecordSource = "ctest", ; > RowHeight = 72, ; > Top = 247, ; > Width = 595, ; > Name = "Grid1", ; > Column1.ControlSource = "ctest.Fld1", ; > Column1.Name = "Column1", ; > Column2.Bound = .F., ; && unlink column and cell > Column2.ControlSource = "", ; && the error is here > Column2.Width = 474, ; > Column2.Sparse = .F., ; > Column2.Name = "Column2" > > > > ADD OBJECT edit1 AS editbox WITH ; > Height = 183, ; > Left = 17, ; > Top = 9, ; > Width = 279, ; > Name = "Edit1",; > ControlSource = [(thisform.Returnmyvar(50))] > > > ADD OBJECT command1 AS commandbutton WITH ; > Top = 208, ; > Left = 211, ; > Height = 27, ; > Width = 84, ; > Caption = "Command1", ; > Name = "Command1" > > > PROCEDURE ReturnMyVar(nCount) > RETURN REPLICATE(SYS(2015)+CHR(13)+CHR(10),IIF(VARTYPE(nCount) # [N], thisform.DefaultReplicate, nCount)) > ENDPROC > > > PROCEDURE Load > CREATE CURSOR cTest (fld1 I) > FOR asd = 1 TO 20 > INSERT INTO cTest VALUES (asd) > NEXT > GO TOP > ENDPROC > > PROCEDURE Init > WITH thisform.Grid1.Column2 > .removeObject([Text1]) > .AddObject([Edit1],[EditBox]) > .CurrentControl = [Edit1] > * attention here > .Edit1.ControlSource = "(thisform.ReturnMyVar())" > .Edit1.Visible = .t. > ENDWITH > ENDPROC > > PROCEDURE command1.Click > thisform.Edit1.Refresh() > ENDPROC > > PROCEDURE Destroy > CLEAR EVENTS > ENDPROC > >ENDDEFINE > >Phew, what a relief.