Upload
bruno-aparecido-da-silva
View
176
Download
8
Embed Size (px)
Citation preview
Bom, você pode fazer isso através das propriedades do DataSource...
Adicione o código a seguir no evento OnClick do dbGrid para identificar a coluna da pesquisa:
procedure TfrmCadModelo.GridExibicaoTitleClick(Column: TColumn);Vari:Integer;begin
Tryfor i:=0 to Column.Grid.FieldCount - 1 do
beginGridExibicao.Columns.Items[i].Title.Font.Color:=ClBlack;//Cor da FonteGridExibicao.COLUMNS.ITEMS[I].TITLE.FONT.STYLE := [];//Cot da FonteGridExibicao.Columns.Items[i].Title.Color:=clBtnFace;//Cor do Fundo do Titulo NormalColumn.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;
ExceptShowMessage('Neste campo não poderá ser efetuada uma pesquisa.'+#13+
'Nossa equipe de desenvolvimento está trabalhando'+#13+'para solucionar o problema com urgência');
End;end;
Em seguida, adicione o seguinte código ao evento OnChange do Edit onde irá digitar os parametros da busca:
procedure TfrmCadModelo.EdtBuscaChange(Sender: TObject);begin
TryDataSourceGrid.DataSet.Locate(GridExibicao.Columns.Items[col].FieldName,EdtBusca.Text,[LoPartialKey, loCaseInsensitive]);//Vai Listando o resultados onde as Letras iniciais são Iguais
ExceptShowMessage('Por favor, se você já tiver informações 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, faça o teste que estará funcionando...
Att
Página 1 de 1Consulta pelo DBGrid - Delphi - iMasters Fóruns
06/05/2011http://forum.imasters.com.br/topic/348514-consulta-pelo-dbgrid-delphi/