Re: [delphi-br] Bookmarks e IndexFieldNames

2009-05-10 Por tôpico Adriano Santos
Ambas soluções funcionam.
Só pra esclarecer, o BookMark não funciona porque você movimenta o cursor da
tabela quando muda o IndexFieldNames.

[]s

Adriano Santos
Editor Chefe da Revista ClubeDelphi
Gerente de Desenvolvimento na SoftPark

2009/5/9 marcelo 

>
>
> Voce pode tambem usar a propriedade RecNo do ClientDataSet, é só armazenar
> ela em uma variável integer e depois quando quiser voltar a ela e só
> apontar
> ClientDataset1.RecNo := Variavel , pronto e sem utilização de nenhum
> mecanismo de busca. vlw
>
> De: delphi-br@yahoogrupos.com.br  [mailto:
> delphi-br@yahoogrupos.com.br ] Em
> nome de Rubens Antunes
> Enviada em: sábado, 9 de maio de 2009 16:00
>
> Para: delphi-br@yahoogrupos.com.br 
> Assunto: Re: [delphi-br] Bookmarks e IndexFieldNames
>
> Amigo
>
> Recentemente me deparei com esse problema tb, para resolve-lo eu criei uma
> variável para controlar, ou seja, toda vez que mando indexar o
> ClientDataSet, antes eu pego o codigo do registro e depois de indexar um
> dou
> um Locate e para no mesmo registro. a ideia é pegar o codigo do registro
> antes de indexar e depois pesquisar.
>
> Abraço
>
> Rubens Antunes
>
> Autor do Livro - Delphi Faça Uma Aplicação Comercial
> Blog http://rubensantunes.zip.net/
>
> --- Em sex, 8/5/09, Paulo - yahoo 
> 
> <mailto:psdias2%40yahoo.com.br > > escreveu:
>
> De: Paulo - yahoo   psdias2%40yahoo.com.br > >
> Assunto: [delphi-br] Bookmarks e IndexFieldNames
> Para: delphi-br@yahoogrupos.com.br  delphi-br%40yahoogrupos.com.br >
> Data: Sexta-feira, 8 de Maio de 2009, 18:16
>
> Grupo Delphi-BRGostaria de saber se esse comportamento do ClientDataSet é
> normal, ou se eu é que não estou fazendo algo corretamente:
>
> a) Em uma certa tela de consulta, ordeno os registros de um ClientDataSet
> por DATAEMISSAO+ NUMERO_NF.
> Assim:
>
> ClientDataSet. IndexFieldNames := 'DATAEMISSAO; NUMERO_NF' ;
>
> b) Em certo momento, preciso fazer uma pesquisa pelo NUMERO_NF, e por isso
> mudo o IndexFieldNames para:
>
> ClientDataSet. IndexFieldNames := 'NUMERO_NF';
>
> ClientDataSet. FindKey([ 1234]); // apenas um exemplo
>
> (aqui o ClientDataSet se posiciona normalmente na NF 1234
>
> c) Porém, preciso retornar logo depois ao índice anterior:
>
> ClientDataSet. IndexFieldNames := 'DATAEMISSAO; NUMERO_NF' ;
>
> d) O problema é que, quando eu retorno à classificação anterior, o registro
> posicionado muda, ou seja, o ponteiro do ClientDataSet deixa de estar na NF
> 1234 e passa a estar em outro registro.
>
> e) Tentei usar GetBookMark e GotoBookMark, mas parece que não adianta,
> porque após mudar o IndexFieldNames, o GotoBookMark continua caindo em
> outro
> registro
>
> Alguém tem alguma idéia de como executar os comandos acima, ou seja, mudar
> a
> classificação, pesquisar um registro, retornar à classificação anterior e
> manter o ponteiro no registro que foi pesquisado ?
>
> Obs.: Eu não criei índices nesse ClientDataSet porque não vi necessidade,
> pelo menos até o momento. Apena o IndexFieldNames estava resolvendo bem a
> situação, até eu me deparar com o problema acima.
>
> Grato pela atenção de todos.
> Paulo
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.0.238 / Virus Database: 270.12.23/2106 - Release Date: 05/09/09
> 06:54:00
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Adriano Santos
Director X-35 Consulting and Development
IT Manager SoftPark
Chief Editor Magazines ClubeDelphi && WebMobile
www.delphitodelphi.blogspot.com
www.adrianosantos.pro.br
www.devmedia.com.br
www.dug-sp.com


[As partes desta mensagem que não continham texto foram removidas]



RES: [delphi-br] Bookmarks e IndexFieldNames

2009-05-10 Por tôpico marcelo
Voce pode tambem usar a propriedade RecNo do ClientDataSet, é só armazenar
ela em uma variável integer e depois quando quiser voltar a ela e só apontar
ClientDataset1.RecNo := Variavel , pronto e sem utilização de nenhum
mecanismo de busca. vlw

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubens Antunes
Enviada em: sábado, 9 de maio de 2009 16:00
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Bookmarks e IndexFieldNames

 






Amigo
 
Recentemente me deparei com esse problema tb, para resolve-lo eu criei uma
variável para controlar, ou seja, toda vez que mando indexar o
ClientDataSet, antes eu pego o codigo do registro e depois de indexar um dou
um Locate e para no mesmo registro. a ideia é pegar o codigo do registro
antes de indexar e depois pesquisar.
 
Abraço
 
Rubens Antunes

Autor do Livro - Delphi Faça Uma Aplicação Comercial
Blog http://rubensantunes.zip.net/

--- Em sex, 8/5/09, Paulo - yahoo mailto:psdias2%40yahoo.com.br> > escreveu:

De: Paulo - yahoo mailto:psdias2%40yahoo.com.br> >
Assunto: [delphi-br] Bookmarks e IndexFieldNames
Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> 
Data: Sexta-feira, 8 de Maio de 2009, 18:16

Grupo Delphi-BRGostaria de saber se esse comportamento do ClientDataSet é
normal, ou se eu é que não estou fazendo algo corretamente:

a) Em uma certa tela de consulta, ordeno os registros de um ClientDataSet
por DATAEMISSAO+ NUMERO_NF.
Assim:

ClientDataSet. IndexFieldNames := 'DATAEMISSAO; NUMERO_NF' ;

b) Em certo momento, preciso fazer uma pesquisa pelo NUMERO_NF, e por isso
mudo o IndexFieldNames para:

ClientDataSet. IndexFieldNames := 'NUMERO_NF';

ClientDataSet. FindKey([ 1234]); // apenas um exemplo

(aqui o ClientDataSet se posiciona normalmente na NF 1234

c) Porém, preciso retornar logo depois ao índice anterior:

ClientDataSet. IndexFieldNames := 'DATAEMISSAO; NUMERO_NF' ;

d) O problema é que, quando eu retorno à classificação anterior, o registro
posicionado muda, ou seja, o ponteiro do ClientDataSet deixa de estar na NF
1234 e passa a estar em outro registro.

e) Tentei usar GetBookMark e GotoBookMark, mas parece que não adianta,
porque após mudar o IndexFieldNames, o GotoBookMark continua caindo em outro
registro

Alguém tem alguma idéia de como executar os comandos acima, ou seja, mudar a
classificação, pesquisar um registro, retornar à classificação anterior e
manter o ponteiro no registro que foi pesquisado ?

Obs.: Eu não criei índices nesse ClientDataSet porque não vi necessidade,
pelo menos até o momento. Apena o IndexFieldNames estava resolvendo bem a
situação, até eu me deparar com o problema acima.

Grato pela atenção de todos.
Paulo

[As partes desta mensagem que não continham texto foram removidas]

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.0.238 / Virus Database: 270.12.23/2106 - Release Date: 05/09/09
06:54:00



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Bookmarks e IndexFieldNames

2009-05-09 Por tôpico Rubens Antunes
Amigo
 
Recentemente me deparei com esse problema tb, para resolve-lo eu criei uma 
variável para controlar, ou seja, toda vez que mando indexar o ClientDataSet, 
antes eu pego o codigo do registro e depois de indexar um dou um Locate e 
para no mesmo registro. a ideia é pegar o codigo do registro antes de indexar e 
depois pesquisar.
 
Abraço
 
Rubens Antunes

Autor do Livro - Delphi Faça Uma Aplicação Comercial
Blog http://rubensantunes.zip.net/

--- Em sex, 8/5/09, Paulo - yahoo  escreveu:


De: Paulo - yahoo 
Assunto: [delphi-br] Bookmarks e IndexFieldNames
Para: delphi-br@yahoogrupos.com.br
Data: Sexta-feira, 8 de Maio de 2009, 18:16








Grupo Delphi-BRGostaria de saber se esse comportamento do ClientDataSet é 
normal, ou se eu é que não estou fazendo algo corretamente:

a) Em uma certa tela de consulta, ordeno os registros de um ClientDataSet por 
DATAEMISSAO+ NUMERO_NF.
Assim:

ClientDataSet. IndexFieldNames := 'DATAEMISSAO; NUMERO_NF' ;

b) Em certo momento, preciso fazer uma pesquisa pelo NUMERO_NF, e por isso mudo 
o IndexFieldNames para:

ClientDataSet. IndexFieldNames := 'NUMERO_NF';

ClientDataSet. FindKey([ 1234]); // apenas um exemplo

(aqui o ClientDataSet se posiciona normalmente na NF 1234

c) Porém, preciso retornar logo depois ao índice anterior:

ClientDataSet. IndexFieldNames := 'DATAEMISSAO; NUMERO_NF' ;

d) O problema é que, quando eu retorno à classificação anterior, o registro 
posicionado muda, ou seja, o ponteiro do ClientDataSet deixa de estar na NF
1234 e passa a estar em outro registro.

e) Tentei usar GetBookMark e GotoBookMark, mas parece que não adianta, porque 
após mudar o IndexFieldNames, o GotoBookMark continua caindo em outro registro

Alguém tem alguma idéia de como executar os comandos acima, ou seja, mudar a 
classificação, pesquisar um registro, retornar à classificação anterior e 
manter o ponteiro no registro que foi pesquisado ?

Obs.: Eu não criei índices nesse ClientDataSet porque não vi necessidade, pelo 
menos até o momento. Apena o IndexFieldNames estava resolvendo bem a situação, 
até eu me deparar com o problema acima.

Grato pela atenção de todos.
Paulo

[As partes desta mensagem que não continham texto foram removidas]

















  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Bookmarks e IndexFieldNames

2009-05-08 Por tôpico Paulo - yahoo
Grupo Delphi-BRGostaria de saber se esse comportamento do ClientDataSet é 
normal, ou se eu é que não estou fazendo algo corretamente:

a) Em uma certa tela de consulta, ordeno os registros de um ClientDataSet por 
DATAEMISSAO+NUMERO_NF.
Assim:

ClientDataSet.IndexFieldNames := 'DATAEMISSAO;NUMERO_NF';


b) Em certo momento, preciso fazer uma pesquisa pelo NUMERO_NF, e por isso mudo 
o IndexFieldNames para:

ClientDataSet.IndexFieldNames := 'NUMERO_NF';

ClientDataSet.FindKey([1234]);  // apenas um exemplo

(aqui o ClientDataSet se posiciona normalmente na NF 1234

c) Porém, preciso retornar logo depois ao índice anterior:

ClientDataSet.IndexFieldNames := 'DATAEMISSAO;NUMERO_NF';

d) O problema é que, quando eu retorno à classificação anterior, o registro 
posicionado muda, ou seja, o ponteiro do ClientDataSet deixa de estar na NF
1234 e passa a estar em outro registro.

e) Tentei usar GetBookMark e GotoBookMark, mas parece que não adianta, porque 
após mudar o IndexFieldNames, o GotoBookMark continua caindo em outro registro

Alguém tem alguma idéia de como executar os comandos acima, ou seja, mudar a 
classificação, pesquisar um registro, retornar à classificação anterior e 
manter o ponteiro no registro que foi pesquisado ?

Obs.: Eu não criei índices nesse ClientDataSet porque não vi necessidade, pelo 
menos até o momento.  Apena o IndexFieldNames estava resolvendo bem a situação, 
até eu me deparar com o problema acima.

Grato pela atenção de todos.
Paulo

[As partes desta mensagem que não continham texto foram removidas]