Fórum Verificar quais itens checkados DBGRID #505881
31/12/2014
0
Boa noite, estou precisando resolver um problema. Eu tenho uma DBGrid ligada a um ClientDataSet. Esse CDS tem um Field do tipo Boolean, daí eu fiz os seguintes procedimentos na minha DBGrid:
Esses eventos acima fazem aparecer o checkbox na grid e faz com que eu marque ou desmarque o Check.
Agora vem minha dúvida, eu tenho uma rotina para envio de e-mail que deve verificar no CDS quais são os dados que estão checkados, para que somente seja enviado e-mail para esses dados checkados. Digamos que eu tenho 5 registros no CDS porém eu selecionei somente 2 na DBGrid, daí o e-mail seria enviado somente para os dois.
Se precisarem de mais alguma informação me avisem.
Uso Delphi XE
procedure TfrmEnvSMS.gridTelefonesCellClick(Column: TColumn);
begin
with dmDados do
begin
CDSNumTel.Edit;
if CDSNumTelSEL.Value = False then
CDSNumTelSEL.Value := True
else
CDSNumTelSEL.Value := False;
CDSNumTel.Post;
end;
end;
procedure TfrmEnvSMS.gridTelefonesDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
Check: Integer;
R: TRect;
DrawState: Integer; DrawRect: TRect;
begin
with dmDados do
begin
if Column.FieldName = 'SEL' then
begin
gridTelefones.Canvas.FillRect(Rect);
Check := 0;
if CDSNumTelSEL.Value = True then
Check := DFCS_CHECKED
else
Check := 0;
R:=Rect;
InflateRect(R,-2,-2); //Diminue o tamanho do CheckBox
gridTelefones.Canvas.Font.Color := clWindow;
gridTelefones.Canvas.Brush.Color := clWindow;
gridTelefones.Canvas.FillRect(Rect);
DrawFrameControl(gridTelefones.Canvas.Handle,R,DFC_BUTTON, DFCS_BUTTONCHECK or Check);
end;
end;
end;
Esses eventos acima fazem aparecer o checkbox na grid e faz com que eu marque ou desmarque o Check.
Agora vem minha dúvida, eu tenho uma rotina para envio de e-mail que deve verificar no CDS quais são os dados que estão checkados, para que somente seja enviado e-mail para esses dados checkados. Digamos que eu tenho 5 registros no CDS porém eu selecionei somente 2 na DBGrid, daí o e-mail seria enviado somente para os dois.
Se precisarem de mais alguma informação me avisem.
Uso Delphi XE
Marlon Minotti
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)