TDataSet
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
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
Curtidas 0
Respostas
Emerson Nascimento
30/11/2005
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
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
GOSTEI 0
Ricardo Oliveira
30/11/2005
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.
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.
GOSTEI 0
Ramms
30/11/2005
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;
pq não no clientdataset ???
se pudesse ser pelo cds era só colocar no ontitleclick isso
DM.cds_seucds.IndexFieldNames := Column.FieldName;
GOSTEI 0
Emerson Nascimento
30/11/2005
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.
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.
GOSTEI 0
Ricardo Oliveira
30/11/2005
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
é justamente isso que eu nao quero. quero deixar o dbgrid preparado para todos os componentes
GOSTEI 0
Ricardo Oliveira
30/11/2005
mas vc seberia como fazer a ordenação dos dados independentemente do componente ?
como faço isso ?
como faço isso ?
GOSTEI 0
Emerson Nascimento
30/11/2005
isso vai depender de como vc criará seu dataset temporário.
GOSTEI 0
Ricardo Oliveira
30/11/2005
obrigado pela ajuda amigao
nem sei por onde começar,
tem alguma dica, exemplos, algum material ?
quebra essa, estou precisando mesmo,
nem sei por onde começar,
tem alguma dica, exemplos, algum material ?
quebra essa, estou precisando mesmo,
GOSTEI 0
Emerson Nascimento
30/11/2005
procure pelo componente cxGrid da suite DevExpress. essa grid faz exatamente o que você quer.
GOSTEI 0
Ricardo Oliveira
30/11/2005
Muito obrigado pela dica, valeu mesmo...
Ricardo
Ricardo
GOSTEI 0
Ricardo Oliveira
30/11/2005
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
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
GOSTEI 0
Odacir_z
30/11/2005
Developer Express Inc.. QuantumGrid o pacote esta com este nome.. [b:aaf4952029]qgrid.v3.2.1.d6.exe[/b:aaf4952029]
GOSTEI 0