Sei sulla pagina 1di 1

Consulta pelo DBGrid - Delphi - iMasters Fruns

Pgina 1 de 1

Bom, voc pode fazer isso atravs das propriedades do DataSource... Adicione o cdigo a seguir no evento OnClick do dbGrid para identificar a coluna da pesquisa: procedure TfrmCadModelo.GridExibicaoTitleClick(Column: TColumn); Var i:Integer; begin Try for i:=0 to Column.Grid.FieldCount - 1 do begin GridExibicao.Columns.Items[i].Title.Font.Color:=ClBlack;//Cor da Fonte GridExibicao.COLUMNS.ITEMS[I].TITLE.FONT.STYLE := [];//Cot da Fonte GridExibicao.Columns.Items[i].Title.Color:=clBtnFace;//Cor do Fundo do Titulo Normal Column.Title.Color :=clSilver;//Cor do Fundo do Titulo Selecionado COLUMN.TITLE.FONT.STYLE := [FSBOLD]; Column.Title.Font.Color:=ClBlue; Column.Font.color:=clTeal; Col:= GridExibicao.Columns[Column.Index].Index; GridExibicao.Columns.Items[i].Font.color:=ClBlack; (DataSourceGrid.DataSet as TClientDataSet).IndexFieldNames := Column.FieldName; end; LblPesquisandoPor.Caption := GridExibicao.Columns.Items[col].Title.Caption; EdtBusca.SetFocus; Except ShowMessage('Neste campo no poder ser efetuada uma pesquisa.'+#13+ 'Nossa equipe de desenvolvimento est trabalhando'+#13+ 'para solucionar o problema com urgncia'); End; end;

Em seguida, adicione o seguinte cdigo ao evento OnChange do Edit onde ir digitar os parametros da busca: procedure TfrmCadModelo.EdtBuscaChange(Sender: TObject); begin Try DataSourceGrid.DataSet.Locate(GridExibicao.Columns.Items[col].FieldName,EdtBusca.Text,[LoPartialKey, loCaseInsensitive]); //Vai Listando o resultados onde as Letras iniciais so Iguais Except ShowMessage('Por favor, se voc j tiver informaes cadastradas'#13+ 'escolha um campo para pesquisa. (Clique sobre o titulo'#13+ 'do grid para selecionar o campo)'); End; end;

Declare ainda uma varivale Global (Dentro do Private do form) do tipo Col : Integer; Pronto, faa o teste que estar funcionando... Att

http://forum.imasters.com.br/topic/348514-consulta-pelo-dbgrid-delphi/

06/05/2011

Potrebbero piacerti anche