Spiga

Menampilkan CheckBox di DBGrid

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1ColExit(Sender: TObject);
procedure SaveBoolean;
private
{ Private declarations }
FOriginalOptions : TDBGridOptions;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}

procedure TForm1.SaveBoolean;
begin
DBGrid1.SelectedField.Dataset.Edit;
DBGrid1.SelectedField.AsBoolean := not Self.DBGrid1.SelectedField.AsBoolean;
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Const
CtrlState : array[Boolean] of Integer = (DFCS_BUTTONCHECK,
DFCS_BUTTONCHECK or DFCS_CHECKED);
var
CheckBoxRectangle : TRect;
begin
if Column.Field.DataType = ftBoolean then
begin
DBGrid1.Canvas.FillRect(Rect);
CheckBoxRectangle.Left := Rect.Left + 2;
CheckBoxRectangle.Right := Rect.Right – 2;
CheckBoxRectangle.Top := Rect.Top + 2;
CheckBoxRectangle.Bottom := Rect.Bottom – 2;
DrawFrameControl(DBGrid1.Canvas.Handle,
CheckBoxRectangle,
DFC_BUTTON,
CtrlState[Column.Field.AsBoolean]);
end;
end;

procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
if DBGrid1.SelectedField.DataType = ftBoolean then
begin
Self.FOriginalOptions := DBGrid1.Options;
DBGrid1.Options := DBGrid1.Options – [dgEditing];
end;
end;

procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
if DBGrid1.SelectedField.DataType = ftBoolean then
DBGrid1.Options := Self.FOriginalOptions;
end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if DBGrid1.SelectedField.DataType = ftBoolean then
SaveBoolean();
end;

Jika artikel ini berguna, kamu bisa me-link ke postingan ini/berlangganan dengan blog kami/ menyebutkan kami di postingan Anda/mem-bookmark blog ini. Terima kasih atas dukungan Anda!

Komentar :

Ada 3 komentar ke “Menampilkan CheckBox di DBGrid”
tagskie said...
pada hari 

hi.. just dropping by here... have a nice day! http://kantahanan.blogspot.com/

Nila said...
pada hari 

dikasih gambar nya donk gan. ini untuk vb6 ya gan?

luceline chandra said...
pada hari 


yuk gan gabung di Royalflush99 situs judi poker online texas holdem uang asli rupiah,situs Judi poker online Utama di indonesia yang menggunakan UANG ASLI resmi dan terpercaya ,tanpa bot dan tanpa agen atau admin dengan keuntungan referal 20% serta promo-promo terbaik
Poker Online Indonesia, Poker Indonesia Online, Poker Online Resmi, Poker Online terpercaya, Judi Poker Online Uang Asli" dan lagi ada promo heboh gan ,
dan jangan lupa kunjungi juga blog kami http://chaniaj.blogspot.com/

Post a Comment

Keluarkan uneg-unekmu sobat!! Jangan disimpan dalam hati, dan saya ucapkan terima kasih...