FB DBgrid Boolean

Delphi

02/04/2004

Alguem sabe como faço para colocar campo boolean no DBgrid, mas não quero escrito ´Sim´ ou ´Não´ quero amarcação como do [b:3c73738362]TCheckBox[/b:3c73738362], uso firebird 1.5, e meu campo é do tipo [b:3c73738362]varchar[/b:3c73738362], tamanho [b:3c73738362]5[/b:3c73738362], onde guardo [b:3c73738362]True ou False[/b:3c73738362].
Antes eu utilizava o componente [b:3c73738362]DbGridBool[/b:3c73738362], mas ele não funciona com IB ou FB.


Sistemald

Sistemald

Curtidas 0

Respostas

Edmarfonseca

Edmarfonseca

02/04/2004

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (Column.Field = <Nome do Campo>) and
(DataSet.FieldByName(<Nome do Campo>).AsString = ´True´) then begin
DBGrid1.Canvas.FillRect(Rect);
ImageList.Draw(DBGrid1.Canvas, Rect.Left+1, Rect.Top, 0);
end;
end;

Você deve ter um componente TImageList. Adicione uma figura parecida com Check do TCheckBox no TImageList.

Na linha ´ImageList.Draw(DBGrid1.Canvas, Rect.Left+1, Rect.Top, 0);´
o ´0´ (zero) é o número da figura no TImageList. ´0´ (zero) é o primeiro, ´1´ é o segundo e assim .....


GOSTEI 0
Sistemald

Sistemald

02/04/2004

Valeu, funcionou perfeitamente.


GOSTEI 0
POSTAR