Olá,

    Estive dando uma olhada neste componente que vc indicou, achei bem 
interessante. Gostaria de saber se existe uma versão free, pois pelo que vi não 
é um componente gratuito!

Obrigado !

  ----- Original Message ----- 
  From: Daniel 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Friday, June 15, 2007 9:49 AM
  Subject: Res: Re: [delphi-br] CheckBox na DBGrid. Tem Como?


  Lógico .... VC pode colocar qualquer coisa no dbgrid da vcl...loockup,
  combobox, checkbox, radiobuton, ímagens e até esmo um memo, mas dar um
  trabalho..........tem que fazer tudo na mão...por linha de codigo... 
  Uma solução mas PRática e melhor, seria VC usa a cxgrid da devexpress..
  excelente componente e VC pode fazer tudo isso que eu falei sem digitar uma
  linha de código, somente configurando as propriedades do comonente 

  -------Mensagem original------- 

  De: Márcio Ricardo 
  Data: 15/06/2007 09:00:36 
  Para: delphi-br@yahoogrupos.com.br 
  Assunto: Re: [delphi-br] CheckBox na DBGrid. Tem Como? 

  Claro que tem! 

  const 
  CtrlState: array[Boolean] of Integer = (DFCS_BUTTONCHECK, DFCS_BUTTONCHECK
  or DFCS_CHECKED); 

  eventos da Grid. 

  procedure TfrmExportaXML.DBGrid2DblClick(Sender: TObject); 
  begin 
  if not (DM.ClientDataSet.State in [dsEdit]) then 
  DM.ClientDataSet.Edit; 
  if DBGrid2.SelectedIndex = 8 then 
  begin 
  if DM.ClientDataSet.FieldByName('CAMPO').AsString = '0' then 
  DM.ClientDataSet.FieldByName('CAMPO').AsString := '1' 
  else 
  DM.ClientDataSet.FieldByName('CAMPO').AsString := '0'; 
  end 
  else 
  begin 
  if DBGrid2.SelectedIndex = 9 then 
  begin 
  if DM.ClientDataSet.FieldByName('CAMPO').AsString = '0' then 
  DM.ClientDataSet.FieldByName('CAMPO').AsString := '1' 
  else 
  DM.ClientDataSet.FieldByName('CAMPO').AsString := '0'; 
  end 
  else 
  begin 
  if DBGrid2.SelectedIndex = 10 then 
  begin 
  if DM.ClientDataSet.FieldByName('CAMPO').AsString = '0' then 
  DM.ClientDataSet.FieldByName('CAMPO').AsString := '1' 
  else 
  DM.ClientDataSet.FieldByName('CAMPO').AsString := '0'; 
  end; 
  end; 
  end 
  end; 

  procedure TfrmExportaXML.DBGrid2DrawColumnCell(Sender: TObject; 
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState)

  begin 
  if DM.ClientDataSet.RecordCount > 0 then 
  begin 
  if (Column.FieldName = 'CAMPO') or 
  (Column.FieldName = 'CAMPO') or 
  (Column.FieldName = 'CAMPO')then 
  begin 
  Self.DBGrid2.Canvas.FillRect(Rect); 
  CheckBoxRectangle.Left := Rect.Left + 2; 
  CheckBoxRectangle.Right := Rect.Right - 2; 
  CheckBoxRectangle.Top := Rect.Top + 2; 
  CheckBoxRectangle.Bottom := Rect.Bottom - 2; 

  if (DataCol = 8) then 
  begin 
  if (DM.ClientDataSet.FieldByName('CAMPO').AsString = '1') then 
  DrawFrameControl(Self.DBGrid2.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON,
  CtrlState[True]) 
  else 
  DrawFrameControl(Self.DBGrid2.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON,
  CtrlState[False]); 
  end 
  else 
  begin 
  if (DataCol = 9) then 
  begin 
  if (DM.ClientDataSet.FieldByName('CAMPO').AsString = '1') then 
  DrawFrameControl(Self.DBGrid2.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON,
  CtrlState[True]) 
  else 
  DrawFrameControl(Self.DBGrid2.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON,
  CtrlState[False]); 
  end 
  else 
  begin 
  if (DataCol = 10) then 
  begin 
  if (DM.ClientDataSet.FieldByName('CAMPO').AsString = '1') then 
  DrawFrameControl(Self.DBGrid2.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON,
  CtrlState[True]) 
  else 
  DrawFrameControl(Self.DBGrid2.Canvas.Handle, CheckBoxRectangle, DFC_BUTTON,
  CtrlState[False]); 
  end; 
  end; 
  end; 
  end; 
  end; 
  end; 

  ----- Original Message ----- 
  From: Tiago Zacchi 
  To: Grupo_Delphi-Br 
  Sent: Friday, June 15, 2007 8:01 AM 
  Subject: [delphi-br] CheckBox na DBGrid. Tem Como? 

  Olá pessoal! 

  Gostaria de seber se tem fazer com que um dos campos da minha DBGrid seja um
  CheckBox, ou algo parecido! Tem como fazer isso ? 

  Obrigado, 

  [As partes desta mensagem que não continham texto foram removidas] 

  [As partes desta mensagem que não continham texto foram removidas] 




  __________ Información de NOD32, revisión 2329 (20070614) __________ 

  Este mensaje ha sido analizado con NOD32 antivirus system 
  http://www.nod32.com 



  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]

Responder a