CheckBox em DBGrid

Delphi

26/08/2003

Alguém sabe como eu faço para colocar um checkBox em uma célula de DBGrid?

Rafael Sangalli


Rafael_sangalli

Rafael_sangalli

Curtidas 0

Respostas

Leanribas

Leanribas

26/08/2003

me manda seu e-mail que eu mando um exemplo para vc...



leanribas@bol.com.br


GOSTEI 0
Valdir.santos

Valdir.santos

26/08/2003

Se for com o DBGrid nativo do Delphi e diferente do exemplo da Bíblia, você poderia me enviar também?

Obrigado.

Valdir.

vsantos@piracicaba.sp.gov.br


GOSTEI 0
Guialberto

Guialberto

26/08/2003

Se puder me enviar, agradeço

Obrigado.

[]´s
Guialberto
guialberto.soares@ig.com.br


GOSTEI 0
Marcelo.c

Marcelo.c

26/08/2003

Se for com o DBGrid nativo do Delphi e diferente do exemplo da Bíblia, você poderia me enviar também?

O da Bíblia(Marco Cantú) não funcionou com você ?

Testei aqui e funcionou perfeitamente:

Insira um DBCheckBox sobre o DBGrid e defina o campo desejado.

No evento OnDrawColumnCell coloque o código:

if (gdFocused in State) and (Column.Field = Campo) then
begin
   DBCheckbox1.SetBounds(
        Rect.Left   + DBGrid1.Left + 1,
        Rect.Top + DBGrid1.Top + 1,
        Rect.Right - Rect.Left,
        Rect.Bottom - Rect.Top);
end;


No evento OnCollEnter:
if DBGrid1.Columns[DBGrid1.SelectedIndex].Field = Campo then
   DBCheckbox1.Visible := True
else
  DBCheckBox1.Visible :=False;


E por fim, no evento OnKeyPress:
if DBCheckBox1.Visible and (Ord(Key) > 31) then
begin
  Key :=#0;
  Table1.Edit;
  DBCheckBox1.Checked := not DBCheckBox1.Checked;
  DBCheckBox1.Field.AsBoolean := DBCheckBox1.Checked;
end;



GOSTEI 0
Valdir.santos

Valdir.santos

26/08/2003

O exemplo da Bíblia eu tenho e funciona. Só que ele mostra o checkbox somente quando eu clico na célula. Não consegui modificar a rotina para ele mostrar o checkbox mesmo quando o grid não tiver o foco.

Abraços

Valdir.


GOSTEI 0
Fcremm

Fcremm

26/08/2003

este site tem um componete bom, de checkbox com grid

http://www.scalabium.com/smdbgrid.htm


GOSTEI 0
Marcelo.c

Marcelo.c

26/08/2003

Não consegui modificar a rotina para ele mostrar o checkbox mesmo quando o grid não tiver o foco.
É, isso eu não tentei, mas talvez deixando ele sempre visível...


GOSTEI 0
POSTAR