TDataSet

30/11/2005

Bom dia a todos

Tem como indexar um determinado campo da tabela diretamente no dataset, ao invez de usar o componente?

Exemplo:
quando clica na coluna do dbgrid os dados da grade ficam em ordem crescente de acordo com a coluna clicada, porem, quero por os dados em ordem na grade, mas nao pelos componentes(TTable, TQuery, TClientDataSet, Etc), e sim, diretamente no DataSet. Isso é possivel ?

desde ja agradeço
Ricardo


Ricardo Oliveira

Respostas

30/11/2005

Emerson

rapaz... hoje eu estou meio devagar... não consegui entender a sua dúvida.

o que você quer dizer com ´diretamente no DataSet´?

TTable -> use índices
TQuery -> use a instrução SQL
TClientDataSet -> você pode usar tanto a instrução SQL, como criar índices ou ainda usar a propriedade IndexFieldNames


Responder Citar

30/11/2005

Ricardo Oliveira

A verdade é a seguinte:
Criei um componente DBGrid com clique no titulo; bom, até ai normal.
porem, quero fazer uma funcao que ponha os registros em ordem usando diretamente o dataset dos registros e nao passando pelo componente que está vinculado ao datasource da grade !!!
por que ?!? veja bem, nunca vou saber qual componente o ´usuario programador´ irá usar para acessar a base de dados, certo ? então se eu trabalhar diretamente no DataSet dos registros, vou conseguir ordenar os dados independente do componente utilizado.

se nao consegui ser claro, tento explicar de outra forma.


Responder Citar

30/11/2005

Ramms

só uma pergunta...
pq não no clientdataset ???

se pudesse ser pelo cds era só colocar no ontitleclick isso
DM.cds_seucds.IndexFieldNames := Column.FieldName;


Responder Citar

30/11/2005

Emerson

agora entendi... você deveria ter dito que precisa ordenar o Resultset e não o Dataset.

olha... nos componentes que eu já vi que possuem esse recurso é criado um dataset temporário (em memória) e o resultset original é copiado para esse memory dataset e, a partir daí, os dados são manipulados nele.


Responder Citar

30/11/2005

Ricardo Oliveira

porque a dbgrid ficaria preso no clientdataset ! E se o dbgrid for usado por um programador que nao utiliza o clientedataset ?

é justamente isso que eu nao quero. quero deixar o dbgrid preparado para todos os componentes


Responder Citar

30/11/2005

Ricardo Oliveira

mas vc seberia como fazer a ordenação dos dados independentemente do componente ?

como faço isso ?


Responder Citar

30/11/2005

Emerson

isso vai depender de como vc criará seu dataset temporário.


Responder Citar

30/11/2005

Ricardo Oliveira

obrigado pela ajuda amigao

nem sei por onde começar,
tem alguma dica, exemplos, algum material ?

quebra essa, estou precisando mesmo,


Responder Citar

30/11/2005

Emerson

procure pelo componente cxGrid da suite DevExpress. essa grid faz exatamente o que você quer.


Responder Citar

02/12/2005

Ricardo Oliveira

Muito obrigado pela dica, valeu mesmo...
Ricardo


Responder Citar

02/12/2005

Ricardo Oliveira

baixei a package que vc citou mas na intalacao da o seguinte erro
package cxLibraryVCLD7 not found

existem varias, menos essa que é requerida
vc conhece um site expecifico para baixá-las ?
ou se vc tiver os arquivos e quizer me enviar !?!
adapternews@ig.com.br


Responder Citar

02/12/2005

Odacir_z

Developer Express Inc.. QuantumGrid o pacote esta com este nome.. [b:aaf4952029]qgrid.v3.2.1.d6.exe[/b:aaf4952029]


Responder Citar