Fórum Duvida com evento de DBGrid #229340

02/05/2004

0

Tenho um form com um DBGrid, um Edit e um Label.
No DBGrid e´ com dois campos em duas colunas:

Vendedor | Premio
----------------|--------------
Ado | 10,00
Geu | 20,00
Santos | 30,00

Tenho uma busca incremental atravez do edit que faz com que o DBGrid mude de linha sozinho, ou seja, se eu digito no edit: G , o DBGrid muda sozinho para a linha 2.

O problema e´ o seguinte: Eu quero que apareca no Label o conteudo do Premio corrente do DBGrid, ou seja, a medida que eu pesquiso no incremental do Edit, vai aparecer no Label o premio correspondente onde a linha do DBGrid se encontra. No caso do digitado: G, deve aparecer no Label: 20,00. Se eu digitar no Edit: S, deve aparecer no Label 30,00.

Como eu faco isso? Qual é o evento que faz isso? ON-O Que?

Procurei neste forum algum topico sobre isto mais nao encontrei.

Diante mao ja´ agradeco alguma ajuda...


Adonis

Adonis

Responder

Posts

02/05/2004

G1b4

Pelo que eu entendi vc deve usar locate em OnChange do Edit.
No mesmo evento(OnChange) acrescente:
Label1.Caption:=Query1.FieldByName(´premio´).AsFloat;
//Query1 -> pode ser Table1 tb

Espero ter ajudado


Responder

Gostei + 0

02/05/2004

Adonis

g1b4,

Nao tem como fazer atravez de evento do DBGrid nao? O comando locate pode deixar a pesquisa lenta. Eu uso para pesquisar um:
FindNearest([Edit1.Text]) ja´ para a pesquisa ficar rapida.

Agradeco a ajuda...


Responder

Gostei + 0

02/05/2004

Emerson Nascimento

atribua o valor ao label imediatamente após a busca.
depois do seu findnearest, coloque:
FindNearest...
LabelX.Caption := FormatFloat( ´,#0.00´,DBGrid.Datasource.Dataset.FieldByName(CampoPremio).AsFloat );
LabelX.Refresh;


Responder

Gostei + 0

02/05/2004

Thematrix:reloaded

Basta colocar em vez de um Label um DBText linkado ao campo desejado.

valeu?


Responder

Gostei + 0

02/05/2004

Adonis

Amigos, TheMatrix:Reloaded e emerson.en,

As duas alternativas estao corretas. Deu certo as duas. Porem a de DBText e´ a mais pratica.

Todavia aprendi muito com as duas alternativas:

Eu nao sabia que existia: DBGrid.Datasource.Dataset...
Gostei muito tambem do: FormatFloat( ´,#0.00´..., ou seja, o: ´,0.00´
Tambem nem sabia que existia o: DBText

Agradeco muito as ajudas...


Responder

Gostei + 0

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

Aceitar