Lo que quieres:
Supongo que te falta poder poner un "CheckBox" en la rejilla y poderlo activar y desactivar.
Te adjunto parte de código propio que utilizo para que de las líneas de una factura solamente se sumen las que indique el usuario, en definitiva creo resuelve tu problema que es como mostrar una casilla de verificación "CheckBox", en una rejilla.
Código:
procedure TfrFacturas.GrLineasColEnter(Sender: TObject);
begin
if GrLineas.Columns [GrLineas.SelectedIndex].
Field = DmLux.LinfactSumar then
DbChkSumar.Visible := True
else
DbChkSumar.Visible := False;
end;
procedure TfrFacturas.GrLineasDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (gdFocused in State) and
(Column.Field = DmLux.LinfactSumar) then
begin
DbchkSumar.SetBounds (
Rect.Left + grLineas.Left + 1,
Rect.Top + grLineas.Top + 1,
Rect.Right - Rect.Left,
Rect.Bottom - Rect.Top);
end;
end;
procedure TfrFacturas.GrLineasKeyPress(Sender: TObject; var Key: Char);
begin
if DbChkSumar.Visible and (Ord (Key) > 31) then
begin
Key := #0;
DmLux.Linfact.Edit;
DbChkSumar.Checked := not
DbChkSumar.Checked;
DbChkSumar.Field.AsBoolean :=
DbChkSumar.Checked;
end;
Un Saludo.