Ir ao conteúdo
  • Cadastre-se

Delphi


Hesodia

Posts recomendados

To com umas dúvidas.

1ª - To usando o ComboBox no meu formulário de cadastro e quero quando clicar em gravar ele limpar o campo do ComboBox. Dai eu usei o ComboBox.Clear só que quando eu clico no botão além de apagar o que tava escrito ele tambem apaga os dados do ComboBox. Queria saber um método de só limpar o que tava escrito e continua com as opções do ComboBox.

2ª - To usando o Banco do ACCESS no meu formulário e liguei ao Delphi através da aba BDE usando o DataBase, Table e DataSource. Ai eu preciso adicionar ao formulário um RadioGroup. Exemplo: No RadioGroup vai ter ordenar por Nome, Codígo. Não sei como fazer para ao clicar na opção no RadioGroup ele ordenar no DBGrid pela ordem solicitada. Ai queria saber como fazer isso :o

Link para o comentário
Compartilhar em outros sites

Bom... para o segundo caso você pode usar o

table1.indexfieldnames:= 'NomeDoCampo';

To sem o delphi aqui... mas deve tá certinho :P

Esta propriedade do TTable faz com que mude o indice da tabela... assim ele já a organiza sozinho para a visualização.

Espero q tenha ajudado

abraços

Link para o comentário
Compartilhar em outros sites

;3816857']Bom... para o segundo caso você pode usar o

table1.indexfieldnames:= 'NomeDoCampo';

To sem o delphi aqui... mas deve tá certinho :P

Esta propriedade do TTable faz com que mude o indice da tabela... assim ele já a organiza sozinho para a visualização.

Espero q tenha ajudado

abraços

Eu fiz como você falou e deu certo. Seguinte eu tenho 4 colunas e quero ordenar de acordo como selecionado.

Dai eu botei lá.


Dm.Table1.IndexFieldNames := 'Nome';
Dm.Table1.IndexFieldNames := 'Matricula';
Dm.Table1.IndexFieldNames := 'Gaveta';
Dm.Table1.IndexFieldNames := 'Situacao';

Dai não vai. Queria saber como fazer para ordenar de acordo com a opção que eu clicar no RadioGroup. Grato.

Link para o comentário
Compartilhar em outros sites

O IndexFieldNames é uma propriedade do tipo string.

Do jeito que você está fazendo, ele está filtrando por esse : Dm.Table1.IndexFieldNames := 'Situacao';

Se você passar outro valor para o IndexFieldNames, ele vai substituir o valor 'Situacao' pelo valor novo que você passar.

Então como eu faço para escolher a ordem que eu quero no RadioGroup e ele ordenar quando clicar ?

Link para o comentário
Compartilhar em outros sites

É só você separar elas por ponto e virgula(;)

Deste jeito

Dm.Table1.IndexFieldNames := 'Nome;Matricula;Gaveta;Situacao';

Mas do jeito q descrevi acima ele vai fazer nesta ordem, Nome, Matricula, Gaveta, Situação... ou você quer q o usuario escolha qual coluna agrupar? Como acho q você quer fazer isso por causa q você está usando o radiogroup então você pode fazer parecido com o exemplo q fiz abaixo:


if radiogroup1.ItemIndex = 0 then //Nome
label1.Caption:= 'Nome'
else
if radiogroup1.ItemIndex = 1 then //Matricula
label1.Caption:= 'Matricula';

isso no evento onclick do radiogroup.

Nos itens do radiogroup eu coloquei Nome e Matricula... então o indice 0 é Nome e o indice 1 é Matricula... Espero q este exemplo te ajude. ^_^

abraços

Link para o comentário
Compartilhar em outros sites

;3817949']É só você separar elas por ponto e virgula(;)

Deste jeito

Dm.Table1.IndexFieldNames := 'Nome;Matricula;Gaveta;Situacao';

Mas do jeito q descrevi acima ele vai fazer nesta ordem' date=' Nome, Matricula, Gaveta, Situação... ou você quer q o usuario escolha qual coluna agrupar? Como acho q você quer fazer isso por causa q você está usando o radiogroup então você pode fazer parecido com o exemplo q fiz abaixo:


if radiogroup1.ItemIndex = 0 then //Nome
label1.Caption:= 'Nome'
else
if radiogroup1.ItemIndex = 1 then //Matricula
label1.Caption:= 'Matricula';

isso no evento onclick do radiogroup.

Nos itens do radiogroup eu coloquei Nome e Matricula... então o indice 0 é Nome e o indice 1 é Matricula... Espero q este exemplo te ajude. ^_^

abraços[/quote']

Eu fiz pelo primeiro método de separar por ponto e vírgula e o programa não rodava. Ai usei o segundo e deu certo.

Begin
If Radiogroup1.ItemIndex = 0 Then
Begin
Dm.Table1.IndexFieldNames := 'Nome';
end
Else
Begin
If Radiogroup1.ItemIndex = 1 Then
Begin
Dm.Table1.IndexFieldNames := 'Matricula';
end
Else
Begin
If RadioGroup1.ItemIndex = 2 Then
Begin
Dm.Table1.IndexFieldNames := 'Gaveta';
end
Else
Begin
If RadioGroup1.ItemIndex = 3 Then
Begin
Dm.Table1.IndexFieldNames := 'Situacao';
end;
end;
end;
end;
end;

Valeu a ajuda pessoal problema resolvido.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...