Duvida com evento de DBGrid
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...
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
Curtidas 0
Respostas
G1b4
02/05/2004
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
No mesmo evento(OnChange) acrescente:
Label1.Caption:=Query1.FieldByName(´premio´).AsFloat;
//Query1 -> pode ser Table1 tb
Espero ter ajudado
GOSTEI 0
Adonis
02/05/2004
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...
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...
GOSTEI 0
Emerson Nascimento
02/05/2004
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;
depois do seu findnearest, coloque:
FindNearest...
LabelX.Caption := FormatFloat( ´,#0.00´,DBGrid.Datasource.Dataset.FieldByName(CampoPremio).AsFloat );
LabelX.Refresh;
GOSTEI 0
Thematrix:reloaded
02/05/2004
Basta colocar em vez de um Label um DBText linkado ao campo desejado.
valeu?
valeu?
GOSTEI 0
Adonis
02/05/2004
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...
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...
GOSTEI 0