problemas com ClientdataSet
30/01/2006
0
ele funciona certinho como quero, só que tem um problema que nao estou conseguindo resolver.
Por exemplo: eu tinha 10 registros dentro da tabela. na primeira vez que executo a aplicação para gerar o relatório, ela me mostra os 10 itens no rave, porem se depois eu atualizo a tabela, colocando mais registros ou até mesmos retirando alguns dos resgistros nao acontece nada, ou seja, quando mando gerar um outro relatório, continuam lá os mesmos 10 resgistros de quando eu mandei gerar o relatório da primeira vez.
será que o ClientdataSet nao atualiza automaticamente os dados que tenho na tabela? se for isso eu teria que dar um ´assign local data´ em tempo de execução toda vez que fosse mandar gerar o relatório? como eu faria isso?
abraços!
Mahdak
Posts
30/01/2006
Leandroaoa
ClientDataSet1.CanceUpdates;
31/01/2006
Mahdak
nao deu certo, continua a mesma coisa... vou colar o código responsavel por obter os dados do ClientDataSet ´cdsCustomer´ e chamar o relatório
procedure TFrmPrincipal.btnVisualizarClick(Sender: TObject); var etiquetasRave : TEtiquetaRave; begin // visualiza as etiquetas --------------------------------------------------------- cdsCustomer.CancelUpdates; etiquetasRave := TEtiquetaRave.Create; with etiquetasRave do begin origemDosDados := cdsCustomer; camposDaEtiqueta.Assign(lbCamposEtiqueta.Items); fonteEtiqueta := lblNomeFonte.Caption; tamanhoFonteEtiqueta := StrToInt(lblTamanhoFonte.Caption); alturaEtiqueta := etiquetasRave.CmParaPolegada(StrToFloat(edtAltEtiq.Text)); numEtiquetasPagina := StrToInt(edtNumEtiq.Text); numColunasPagina := StrToInt(edtNumCol.Text); larguraEntreColunas := etiquetasRave.CmParaPolegada(StrToFloat(edtLargCol.Text)); margemSuperior := etiquetasRave.CmParaPolegada(StrToFloat(edtSuperior.Text)); margemInferior := etiquetasRave.CmParaPolegada(StrToFloat(edtInferior.Text)); margemDireita := etiquetasRave.CmParaPolegada(StrToFloat(edtDireita.Text)); margemEsquerda := etiquetasRave.CmParaPolegada(StrToFloat(edtEsquerda.Text)); tamanhoPapel := cbTamanhoPagina.Text; case rgOrientacao.ItemIndex of 0: orientacaoPapel := ´RETRATO´; 1: orientacaoPapel := ´PAISAGEM´; end; if edtAltPag.Text <> ´´ then alturaPagina := CmParaPolegada(StrToFloat(edtAltPag.Text)) else alturaPagina := 0; if edtLargPag.Text <> ´´ then larguraPagina := CmParaPolegada(StrToFloat(edtLargPag.Text)) else larguraPagina := 0; case rgOrdemImpressao.ItemIndex of 0: ordemDeImpressao := ´LC´; 1: ordemDeImpressao := ´CL´; end; Visualizar; Free; end; // -------------------------------------------------------------------- end;
31/01/2006
Mahdak
o que os amigos acham????
31/01/2006
Mahdak
brigadão pela ajuda de todos
Clique aqui para fazer login e interagir na Comunidade :)