Fórum DBGrid..Transferencia de dados #295094
11/09/2005
0
[img][url=http://imageshack.us][img=http://img138.imageshack.us/img138/6682/imagem7bz.jpg][/url][/img]
presciso tranferir os dados do primeiro formulário para o segundo para peder formula cálculos...
no código abaixo tenho uma função de como deletar os ítens selecionados...táves tem como adaptar esta função para o que estou prescisando...
var i: integer;
begin
with wwdbgrid1, wwdbgrid1.datasource.dataset do begin
DisableControls; { Disable controls to improve performance }
for i:= 0 to SelectedList.Count-1 do begin
GotoBookmark(SelectedList.items[i]);
Freebookmark(SelectedList.items[i]);
Delete; { Delete Record }
end;
SelectedList.clear; { Clear selected record list since they are all deleted}
EnableControls; { Reenable controls }
end;
Vamo ver se temos mais sorte desta vez... valw...t+
Gigatel
Curtir tópico
+ 0Posts
11/09/2005
Gigatel
[img][URL=http://imageshack.us][img:0c0f73b15e]http://img138.imageshack.us/img138/6682/imagem7bz.jpg[/img:0c0f73b15e][/URL][/img]
Gostei + 0
12/09/2005
Gigatel
Gostei + 0
13/09/2005
Gigatel
Gostei + 0
13/09/2005
Michelli88
Gostei + 0
13/09/2005
Gigatel
{
Na cláusula uses coloque a unit "Clipbrd"
Coloque o código abaixo, por exemplo, no evento onClick de um botão
}
var Linhas: TStringList;
i, posicao: integer;
s: string;
begin
Linhas := TStringList.Create;
Clipboard.Open;
try
with DBGrid1 do
begin
DataSource.DataSet.DisableControls;
Posicao := DataSource.DataSet.RecNo;
DataSource.DataSet.First;
while not DataSource.DataSet.Eof do
begin
s := ´´;
for i := 0 to Columns.Count - 1 do
begin
if i > 0 then s := s + #9; // Tabulação
s := s + Columns.Items[i].Field.Text;
end;
Linhas.Add(s);
DataSource.DataSet.Next;
end;
DataSource.DataSet.RecNo := Posicao;
DataSource.DataSet.EnableControls;
end;
Clipboard.SetTextBuf(Pointer(Linhas.Text));
finally
Linhas.Free;
Clipboard.Close;
end;
Vamo ver né ?
Gostei + 0
13/09/2005
Michelli88
Veja na declaração o tipo que é ou da unit que vc ta adicionando na clausula uses...
Gostei + 0
13/09/2005
Gigatel
Vc notou a figua acima ?...eu presciso que os mesmos dados da parte de baixo da figura que estão selecionados ou parte deles ( como descrissão e valor ) vão para o segundo form, para o usuário ficar sabendo o que selecionou e tbm ser realizados cálculos somente dos ítens do segundo form..
Gostei + 0
13/09/2005
Michelli88
... vc poderia armazenar os codigos dos registros selecionados num StringGrid e enviar via parametro... vc passa essa lista de códigos, e a partir da lista vc consulta o banco novamente e carrega no grid...
A procedure ficaria assim:
procedure passarLista(Lista: Stringgrid); begin for i:= 0 to SelectedList.Count-1 do begin // aqui vc testa se o item ta checado e armazena na stringgrid: if ... then Lista[i]:= Codigo; end; end;
espero que ajude..
Gostei + 0
13/09/2005
Gigatel
procedure passarLista(Lista: Stringgrid); begin for i:= 0 to SelectedList.Count-1 do begin // aqui vc testa se o item ta checado e armazena na stringgrid: if ... then Lista[i]:= Codigo; end; end;
Gostei + 0
13/09/2005
Michelli88
Gostei + 0
13/09/2005
Gigatel
Ta aí...más eu num sei fazer isto...
eu tenho uma tabela ( interbase )que se chama CONTAS_RECEBER
Minha IBQuery se chama BD_CONT_REC.
os campos que uso para visualizar são estes..
GS_COR_CODIGO
GS_COR_NOME
GS_COR_DESCRICAO
GS_COR_CODIGO_DATA_VENC
num faço nem idéia de como transferir estes dados...más ver o q dá..valeu pela disponibilidade..
Gostei + 0
13/09/2005
Michelli88
pelo que deu pra entender no código da função de deletar, ja existe uma lista que eh a dos itens selecionados.. Deve haver um jeito de acessar esses dados, aquele eh o um grid comum? Parece q vc disse q comprou um componente?
Entao, no proprio grid que vc tem ai, vc vai pegar o codigo de todos q foram selecionados e adicionar na Stringlist.
var Lista : Stringlist; Lista[i]:= QueryGridCodigo.AsString; //adiciona os item na Stringlist
Gostei + 0
13/09/2005
Gigatel
GotoBookmark(SelectedList.items[i]);
De fato eu uso um componente mesmo...comprei a licença de um colega, o componete se chama ...INFOPOWER.. parece ser bom este componete tem várias outras funções....
Gostei + 0
13/09/2005
Gigatel
[Error] Unit18.pas(811): Undeclared identifier: ´Stringlist´
Gostei + 0
13/09/2005
Michelli88
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)