Fórum DBGrid..Transferencia de dados #295094

11/09/2005

0

Fiz um tópico a dias atrás e não obtive resultados satisfatório, daí conseguí um componete ( tive que comprar ) que atendesse o que eu queria más me deparei comum outro problema...veja a foto..
[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

Gigatel

Responder

Posts

11/09/2005

Gigatel

Ops... a foto é esta...

[img][URL=http://imageshack.us][img:0c0f73b15e]http://img138.imageshack.us/img138/6682/imagem7bz.jpg[/img:0c0f73b15e][/URL][/img]


Responder

Gostei + 0

12/09/2005

Gigatel

me lembro de ter visto algo, num sei se foi nete fórum ou alguma busca na internet...más estamos na espera..se alguém ajudar ..qualquer idéia é bem vinda...t+


Responder

Gostei + 0

13/09/2005

Gigatel

Dá uma forcinha ai´galera....


Responder

Gostei + 0

13/09/2005

Michelli88

o que voce quer mostrar no grid do outro form?


Responder

Gostei + 0

13/09/2005

Gigatel

O que seria este tal de clipboar ?

{
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é ?


Responder

Gostei + 0

13/09/2005

Michelli88

O que seria este tal de clipboar ?

Veja na declaração o tipo que é ou da unit que vc ta adicionando na clausula uses...


Responder

Gostei + 0

13/09/2005

Gigatel

o que voce quer mostrar no grid do outro form?


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..


Responder

Gostei + 0

13/09/2005

Michelli88

Nao sei se eh a melhor opçao, mas...
... 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..


Responder

Gostei + 0

13/09/2005

Gigatel

Nao sei se eh a melhor opçao, mas... ... 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;
Desculpe a demora más estava almoçando...Más..eu num entendí direito o que vc quer passar...como seria isto ? o código pegaria direto do dbgrid ou vc está sugerindo que carregue os dados para o stringrid primeiro ? espero que ajude..



Responder

Gostei + 0

13/09/2005

Michelli88

Estou sugerindo que vc primeiro carregue os codigos numa stringgrid e passe ela inteira pro outro form, a partir dela vc pesquisa no banco o codigo dos registros que quer mostrar na grid!


Responder

Gostei + 0

13/09/2005

Gigatel

Estou sugerindo que vc primeiro carregue os codigos numa stringgrid e passe ela inteira pro outro form, a partir dela vc pesquisa no banco o codigo dos registros que quer mostrar na grid!


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..


Responder

Gostei + 0

13/09/2005

Michelli88

[b:721a148bb6]desculpeeeeeeee! Eu quiz dizer Stringlist e nao stringgrid... foi mal...[/b:721a148bb6]
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



Responder

Gostei + 0

13/09/2005

Gigatel

Tenho pra mim que as informações selecionadas ficam neste ponto aki do código...

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....


Responder

Gostei + 0

13/09/2005

Gigatel

Deu este erro ao declarar a variável..

[Error] Unit18.pas(811): Undeclared identifier: ´Stringlist´



Responder

Gostei + 0

13/09/2005

Michelli88

var Lista: TStringlist;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar