Multiselect no DBGRID

Delphi

29/02/2012

Pessoal não estou conseguindo fazer o seguinte.
tenho duas tabelas uma que chama o nome de interessados com seus respectivos dados,e tenho outra que é composta que chama o curso que o interessados dejeja faser e a situação se ja foi contatado ou não.
quando o interessado foi contado a situação muda de N para S isso claro que lançado manualmente 1 por um dai eu uso o seguinte código que está num Button

TabINTXCUR.Edit;
TabINTXCURSITUACAO.AsString := S;
TabINTXCUR.Post;
DmSGS.TrGerenciador.CommitRetaining;
TabINTXCUR.Close;
TabINTXCUR.Open;

Porém eu desejo fazer isso com vários interessados ao mesmo tempo e o meu grid não está ligado a tabela TabXCur e sim na interessados.

Agradeço des de já a ajuda
Att:Joce
Jocemar Strer

Jocemar Strer

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

29/02/2012

Dê uma olhada nesse artigo, pode te ajudar:

https://www.devmedia.com.br/articles/viewcomp.asp?comp=3161

Boa sorte.
GOSTEI 0
Jocemar Strer

Jocemar Strer

29/02/2012

Já Resolvi bem mais fácil doque eu imaginei!!Ta ai o código...




procedure TFrmInteressados.btnSimClick(Sender: TObject);
var
rec : string;
contador : integer;
i:String;
begin
if application.MessageBox(Confirma a Alteração de Contato? ,
Confirma... , MB_YESNO + MB_ICONEXCLAMATION ) = IDYES THEN

with DBGrid3 do
begin
if SelectedRows.Count > 0 then
for contador := 0 to Pred(SelectedRows.Count) do
begin
DsAtualizaSituacao.Dataset.Bookmark := SelectedRows[contador];

rec := qryAtualizaSituacao.fieldbyname(COD_INT).AsString;

qryAtualiza.Close;
qryAtualiza.UnPrepare;
qryAtualiza.SQL.Clear;
qryAtualiza.SQL.Add(UPDATE INTXCUR +
SET SITUACAO=S +
WHERE COD_INT=+rec+);

qryAtualiza.Prepare;
qryAtualiza.Open;
end;
I:=inttostr(contador);
Showmessage(Total de Registros alterados +i+ );
qryAtualizaSituacao.close;
qryAtualizaSituacao.Open;

end;

end;
GOSTEI 0
POSTAR