Fórum posicionando no grid #270555
01/03/2005
0
Usando Delphi 6, e componentes da paleta interbase.
Como posso fazer o dbgrid ficar mostrando sempre o registro
selecionado, por um locate de uma query, sempre aparecer na primeira linha da visualização do dbgrid.
Explicando melhor, quando abre o form de consulta mostra-se
todos os registros ordenados por nome. Daí eu preciso que ao
ser digitado num edit seja localizado por um locate o registro
desejado e o mesmo fique posicionado no inicio do dbgrid.
E de quebra caso nao exista o nome digitado posicione no próximo nome,
ou seja, se for pedido sandro e nao existir sandro que o ponteiro
indique saul.
Agradeço antecipadamente qualquer ajuda.
Sandro
Salupe
Curtir tópico
+ 0Posts
01/03/2005
Bruno Belchior
Gostei + 0
01/03/2005
Salupe
O problema é fazer o ponteiro ficar na 1ª linha do dbgrid.
Preciso fazer com que ao fazer o locate, o dbgrid posicione o registro no primeiro lugar da tela.
Alguem sabe
Gostei + 0
03/03/2005
Salupe
Gostei + 0
03/03/2005
Rômulo Barros
procedure TForm1.Button1Click(Sender: TObject); begin With(ClientDataSet1)Do Begin If(Locate(´NOME´,Edit1.Text,[loPartialKey]))Then Begin Filter := ´MATRICULA >= ´ + FieldByName(´MATRICULA´).AsString; IndexFieldNames := ´MATRICULA´; Filtered := True; End Else Begin If(Locate(´NOME´,Edit1.Text[1],[loPartialKey]))Then Begin Filter := ´MATRICULA >= ´ + FieldByName(´MATRICULA´).AsString; IndexFieldNames := ´MATRICULA´; Filtered := True; End Else MessageDlg(´Não existem registros que comecem com a letra ´ + Edit1.Text[1],mtInformation,[mbOk],0); End; End; end; end.
:arrow: [color=red:b757f0c4f7][b:b757f0c4f7]Não esqueçe, ao final, de desfazer o filtro.[/b:b757f0c4f7]
:wink: :wink: [/color:b757f0c4f7]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)