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.
Alguém sabe como posso colocar em um DbGrid um Checkbox,
se alguém puder me ajudar eu agradeço.
Obrigado.
C@rdoso
Curtir tópico
+ 0
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:
6 - No evento OnColEnter do DBGrid digite:
7 - No evento OnKeyPress do DBGrid escreva:
Isso é tudo!
Nao agradeça a mim, agradeça a Marco Cantù, o autor da Biblia do Delphi! :wink:
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
Clique aqui para fazer login e interagir na Comunidade :)