Index: dbcheckbox.inc =================================================================== --- dbcheckbox.inc (revision 19833) +++ dbcheckbox.inc (working copy) @@ -82,6 +82,12 @@ Result:=cbChecked else Result:=cbUnchecked; + end else if FDataLink.Field.DataType = ftInteger then begin + if FDataLink.Field.AsInteger = StrToIntDef(FValueCheck, 1) Then + Result:=cbChecked + else if FDataLink.Field.AsInteger = StrToIntDef(FValueUncheck, 0) Then + Result:=cbUnchecked + else Result:=cbGrayed; end else begin Result:=cbGrayed; // ToDo: use Field.Text @@ -111,13 +117,20 @@ else if FDataLink.Field.DataType = ftBoolean then FDataLink.Field.AsBoolean:=Checked - else begin + else if FDataLink.Field.DataType = ftInteger then + Begin + If Checked then + FDataLink.Field.AsInteger := StrToIntDef(FValueCheck, 1) + Else FDataLink.Field.AsInteger := StrToIntDef(FValueUncheck, 0); + End else begin if Checked then NewFieldText:=FValueCheck else NewFieldText:=FValueUncheck; // ToDo: use Field.Text - FDataLink.Field.AsString:=Trim(NewFieldText); + If Assigned(FDataLink.Field.OnSetText) Then + FDataLink.Field.OnSetText(FDataLink.Field, NewFieldText) + Else FDataLink.Field.AsString:=Trim(NewFieldText); end; end;