GRID, URGENTE !!!!!!

16/04/2003

0

Olá galera, tudo bem?


Alguém sabe como posso colocar em um DbGrid um Checkbox,

se alguém puder me ajudar eu agradeço.


Obrigado.


C@rdoso

C@rdoso

Responder

Posts

16/04/2003

Carlos Filho

[quote:2f9bbdfbb3=´C@RDOSO´]Olá galera, tudo bem?


Alguém sabe como posso colocar em um DbGrid um Checkbox,

se alguém puder me ajudar eu agradeço.


Obrigado.[/quote:2f9bbdfbb3]
A tecnica tem uma falha que você vai perceber quando esse exemplo estiver rodadado, mas acho que vc pode consertar...

1 - coloca o dbgrid normalmente no form
2 - coloca no form 1 DBCheckbox
3 - coloca o DBCheckBox com visible = false
4 - como exemplo coloca um componente Table, aponte-o pro alias DBDEMOS e use a tabela Workers
5 - no evento onDrawColumnCell do DBGrid escreva o que tem entre begin e end logo abaixo:
(...)
begin
        if (gdFocused in State) and (Column.Field = Table1Senior) then
        begin
                 DBCheckBox1.SetBounds(
                          Rect.Left + DBGrid.Left + 1,
                          Rect.Top + DBGrid.Top + 1 ,
                          Rect.Right - Rect.Left,
                          Rect.Bottom - Rect.Top 
                 );
        end;

end;

6 - No evento OnColEnter do DBGrid digite:
(...)
begin
        if DBGrid1.Columns[DBGrid1.SelectedIndex].Field = Table1Senior then
                 DBCheckBox1.Visible := True
        else
                 DBCheckBox1.Visible := False;            
end;

7 - No evento OnKeyPress do DBGrid escreva:
(...)
begin
        if DBCheckBox1.Visible and (Ord(Key) > 31) then
        begin
                Key := 0;
                Table1.Edit;
                DBCheckBox1.Checked := not DBCheckBox1.Checked;
                DBCheckBox1.Field.AsBoolean := DBCheckBox1.Checked;
        end;
end;


Isso é tudo!

Nao agradeça a mim, agradeça a Marco Cantù, o autor da Biblia do Delphi! :wink:


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar