Eu faço da seguinte forma: - Jogo os dados em um ClientDataset - Crio um campo do tipo InternalCal no ClientDataset - Coloco esse campo criado na primeira coluna do DBGrid - Defino a Fonte dessa coluna como Marlett (nessa fonte o caracter 'a' é igual ao checado do TCheckBox), tamanho 10, cor azul - No evento OnDblClick do DbGrid gravo o valor 'a' ou '' no campo do ClientDataset. Também pode ser colocado no evento OnKeyDown ou OnKeyPress do DbGrid. - Para definir quais registros devem ser trabalhados pela sua rotina, basta verificar se o campo está com o valor 'a' ou ''
OBS.: No Delphi 7 tem um bug que sempre altera o estilo da fonte.Então coloque no evento OnShow do Form: DbGrid.Columns.Items[0].Title.Caption := ''; DbGrid.Columns[0].Font.Style := []; Em todos os DbGrids que tenho necessidade de CheckBox uso dessa forma. Criei uma função que muda o valor do campo dando o aspecto de "checado" e "não checado", e uso no evento OnKeyDown e OnDblClick de todos os DbGrids. Acho bem mais simples que implementar um DbGrid com CheckBox. Funciona muito bem e fica com um visual legal. __________________________________________________ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/