Fórum DBGrid com TADOTable: formatação de colunas #255130

20/10/2004

0

Pessoal, bom dia. Fiz a pesquisa e não encontrei responta, pronta, para os meus problema. Vejam:

DELPHI 6

No DataModule...

TADOTable -> frequencia
TableName: tab_Freq
MasterSource: DS_Func
MarterFields: id_func
IndexFieldNames: id_func
TDataSource: DS_freq

PROBLEMA -> na DBGrid:
a)ordenar os registros pelo campo/coluna: “data_freq”; e
b)formatar o campo/coluna “valor” para duas casas decimais.

BANCO DE DADOS: Access
Tab_Frequencia (estrutura)
Campo: vr_peso: Numérico/Duplo/3 casas decimais

como resolver?
obrigado


Ananias Duarte

Ananias Duarte

Responder

Posts

20/10/2004

Bruno Belchior

na instrução select que retorna o resultado coloque a cláususa order by por exemplo
   Select * From TabEmpresas Order By DataContratacao

e para formatar vá até a Query que contém os campos abra o editor de fields (de um duplo clique no componente), clique com o botão direito do mouse na parte branca e clique no menu que aparecer em Add All (adicionar todos) vá até o campo que vc quer que apareca a formatação de duas casas decimais e selecione-o, então vá no object inspector e coloque sua propriedade currency (monetário) como true... espero ter ajudado


Responder

Gostei + 0

20/10/2004

Ananias Duarte

Valeu Bruno, porém..

1) Não estou usando TADOQuery, isto é: estou usando a própria tabela e mais.. não quero usar query, nesse caso.
2) já fiz a segunda parte da sua resposta, porém não encontrei a propriedade currency.
e agora...
abraços


Responder

Gostei + 0

19/11/2004

José Henrique

Fala Ananias,
Nos encontramos aqui. Também decidi portar um aplicativo Access para Delphi e com a ajuda deste fórum e de alguns livros (além da revista Clube Delphi) tô indo.
Quanto a sua solicitação de ordenar o grid, a dica abaixo ordena pela coluna clicada pelo usuário, coloque esta rotina no eveto OnTitleClick do DBGrid:
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
  strColuna : string;
begin
  strColuna := Column.Field.FieldName;
  if  DM.ADODataSet1.IndexFieldNames = strColuna then
      DM.ADODataSet1.IndexFieldNames := strColuna + ´ DESC´
  else
      DM.ADODataSet1.IndexFieldNames := strColuna;
end;


Caso o usuário clique novamente na mesma coluna ele inverte a ordenação.

Mas se você quiser que o grid já abra e permaneça com apenas uma de ordenação coloque no OnCreate do form:
DM.ADODataSet1.IndexFieldNames := ´data_freq´;

Henrique.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar