Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 20 de Julho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
30 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Clonando Informações de um ClientDataSet
Publicado por edibertoalves : Terça, Outubro 16, 2007 - 08:16 GMT-3 (2489 leituras)
Comentários comentar   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Um recurso interessante no uso do ClientDataSet é a clonagem de informações de um outro ClientDataSet. Para isso usamos método CloneCursor, responsável para copiar os dados de um componente para outro.

Vamos entender sua funcionalidade

  procedure CloneCursor(Source: TCustomClientDataSet; Reset: Boolean;
    KeepSettings: Boolean = False);

Podemos notar que o método recebe 3 parâmetros, logo, no primeiro parâmetro “Source”, devemos informar o ClientDataSet que vai ser clonado. O segundo e o terceiro parâmetros, respectivamente “Reset” e “KeepSettings”, são booleanos. Se “Reset” e “KeepSettings” estão false, as propriedades do ClientDataSet de origem são copiadas diretamente para o ClienDataSet de destino. Propriedades como RemoteServer, ProviderName, IndexName, Filter, Filtered, MasterSource, MasterFields e ReadOnly. Caso “Reset” estiver true, as propriedades serão passadas para o ClientDataSet de destino com seus valores Default. Se somente “KeepSettings” estiver true, certos valores e índices do clone não serão alterados.

Vamos a um exemplo. Num form, insira um ClientDataSet, dois DataSources, dois DBGrid e um Button. Faça a conexão a partir da listagem abaixo no Object Inspector:

  DBGrid1     -> propriedade DataSoutce = DataSource1
  DataSource1 -> propriedade Dataset    = ClientDataSet1
  DBGrid2     -> propriedade DataSource = DataSource2

No ClientDataSet1, clique com o botão direito e selecione a opção “Load from Mybase Table”. Utilizaremos o exemplo Employee.xml no diretório Arquivos de Programas\Arquivos Comuns\Borland Shared\Data. Logo os dados estarão sendo exibidos no DBGrid1.

Clique duas vezes no Button e insira o seguinte código listado:

procedure TForm1.Button1Click(Sender: TObject);
var
  Clone: TClientDataSet;
begin
  Clone := TClientDataSet.Create(nil);
  try
    Clone.CloneCursor(ClientDataSet1, false, false);
    DataSource2.DataSet := Clone;
  finally
    //Clone.Free;

    //A linha está comentada para que você possa visualizar no DBGrid o
    //o resultado da Clonagem. Entretanto, sabemos que é fundamental
    //destruir os objetos ao término de seu uso.
  end;
end;

Compile e clique no botão que vai transferir todas as informações de um ClientDataSet que está no DBGrid1 para o DBGrid2. Você também pode manipular os dados no Clone. De agora pra frente vá conforme sua imaginação!

Espero ter ajudado com essa facilidade que a Borland desenvolveu pra gente.
Até a próxima!

Ediberto Alves
Contato: ediberto@aweb.eti.br
Usuário: edibertoalves



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados