Hola JXJ.
Para poner un CheckBox en un DBgrid:
CheckBox inside a DBGrid.
Si es un
TDBCheckBox, se adaptan los valores Boolean de las propiedades
ValueChecked y
ValueUnChecked al tipo declarado en la tabla.
Por ejemplo si considero el valor 0 como False y 1 como True, sería:
Código Delphi
[-]
ValueChecked:= 1;
ValueUnChecked:= 0;
También podes ajustar los valores desde el Object inspector.
Si se tratara de un
TCheckBox, en el evento
OnExit revisaría la propiedad
Checked y de acuerdo a su valor actualizaría el campo involucrado.
Para actualizar el CheckBox usaría el evento
OnScroll del DataSet.
Algo como:
Código Delphi
[-]
procedure TForm1.CheckBox1Exit(Sender: TObject);
begin
IBDataSet1.Edit;
if CheckBox1.Checked then
IBDataSet1.FieldByName('CAMPO').AsInteger:= 1
else if not CheckBox1.Checked then
IBDataSet1.FieldByName('CAMPO').AsInteger:= 0;
end;
procedure TForm1.IBDataSet1AfterScroll(DataSet: TDataSet);
begin
CheckBox1.Checked:= IBDataSet1.FieldByName('CAMPO').AsInteger = 1;
end;
Un saludo.