**************************************************
PUBLIC oform1, oForm2
oForm1 = CREATEOBJECT("form1")
oForm2 = CREATEOBJECT("Form2")
WITH oForm1.grid1
.SetAll("DynamicBackcolor", "IIF(curtemp.f3, RGB(0,125,125), RGB(255,255,255))","Column")
.SetAll("DynamicForecolor", "IIF(curtemp.f3, RGB(255,255,255), RGB(0,0,0))","Column")
.Column1.ReadOnly = .T.
.Column2.ReadOnly = .T.
ENDWITH
WITH oForm1.grid1.Column3
.Sparse = .F.
.AddObject("chkBoxSelection", "chkBox1")
.CurrentControl = "chkBoxSelection"
ENDWITH
oForm2.Show
oForm1.Show
Read Events
Close all
Clear All
RETURN
**************************************************
DEFINE CLASS chkBox1 AS CheckBox
Visible = .T.
Caption = ""
PROCEDURE Click()
This.Parent.Parent.Refresh()
ENDPROC
ENDDEFINE
DEFINE CLASS form2 AS Form
Caption = "Textvalue from 1st form"
Left = 120
Height = 480
Width = 600
Minheight = This.Height
MinWidth = This.Width
ADD OBJECT txtName as TextBox WITH ;
Left = 24, ;
Top = 24, ;
Name = "txtName"
ENDDEFINE
DEFINE CLASS form1 AS Form
AutoCenter = .T.
Caption = "Grid selecting from cursor"
Height = 480
Width = 600
Minheight = This.Height
MinWidth = This.Width
ADD OBJECT lblOData AS Label WITH ;
Caption = "Original Data", ;
Left = 10, ;
Top = 30, ;
Anchor = 3
ADD OBJECT lblSelection AS Label WITH ;
Caption = "Results", ;
Left = 300, ;
Top = 30, ;
Anchor = 1 + 2
ADD OBJECT grid1 AS Grid WITH ;
ColumnCount = -1, ;
Left = 10, ;
Top = 48, ;
Width = 270, ;
Height = 408, ;
Anchor = 1 + 2 + 4, ;
RecordSource = "curTemp"
PROCEDURE Grid1.AfterRowColChange()
LPARAMETERS nColIndex
WITH oForm2
.txtName.Value = curTemp.f2
.Refresh()
ENDWITH
ENDPROC
ADD OBJECT grid2 AS Grid WITH ;
ColumnCount = -1, ;
Left = 300, ;
Top = 48, ;
Width = 270, ;
Height = 408, ;
Anchor = 1 + 2 + 4 + 8, ;
Visible = .F.
ADD OBJECT cmdSearch AS CommandButton WITH ;
Left = 222, Top = 6, Height = 21, Width = 90, Caption = "SQL"
PROCEDURE cmdSearch.Click()
SELECT f1, f2, ALLTRIM(SUBSTR(f2,4)) + ALLTRIM(STR(f1)) as f6, INT(f1/4) as f5, f3 FROM curTemp WHERE f3 ;
ORDER BY 1 ;
INTO CURSOR curTemp2
IF _tally > 0
WITH Thisform.grid2
.Visible = .T.
.ColumnCount = -1
.RecordSource = "curTemp2"
.DeleteColumn()
ENDWITH
ELSE
WITH Thisform.grid2
.Visible = .F.
ENDWITH
ENDIF
Thisform.Refresh()
ENDPROC
ADD OBJECT cmdReset AS CommandButton WITH ;
Left = 324, Top = 6, Height = 21, Width = 90, Caption = "Reset"
PROCEDURE cmdReset.Click()
IF FILE("curtemp2")
SELECT curtemp2
USE
ENDIF
WITH Thisform.grid2
.Visible = .F.
ENDWITH
SELECT curtemp
UPDATE curTemp SET f3 = .F.
LOCATE
Thisform.Refresh()
ENDPROC
PROCEDURE Destroy
CLOSE ALL
Clear Events
ENDPROC
PROCEDURE Load
CREATE CURSOR curTemp (f1 I AUTOINC NEXTVALUE 1 STEP 1, f2 C(20), f3 L)
FOR i = 1 TO 25
INSERT INTO curTemp (f2, f3) VALUES ("T" + SYS(2015), .F. )
ENDFOR
LOCATE
ENDPROC
ENDDEFINE
*********************************************