Essa dica é legal se vc digitar o "valor exato" da tabela, se for um valor parcial, como fazemos? -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Vitor Luiz Redes Enviada em: quinta-feira, 25 de agosto de 2005 13:55 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Pintar Célula Do DBGrid
Acho que não precisa de tudo isso não hein... No evento DrawColumnCell... begin if DATASET.FieldByName( 'CLIENTE' ).AsString = ctrlPesquisa.Text then GRID.Canvas.Font.Style := [ fsBold ] else GRID.Canvas.Font.Style := [ ]; GRID.DefaultDrawColumnCell( Rect, Field, State ); end; Onde... DATASET = TTable, TQuery, TSQLQuery, TSimpleDataSet, enfim, o componente que estás a usar para acessar os dados, e que está ligado ao DATASOURCE do DBGrid. GRID = O próprio DBGrid... constructor TVitor.Create( AOwner : TProgrammer ); begin Name := 'Vitor Redes'; Login := 'vredes'; Password := '**********'; City := 'Curitiba'; Employee := 'Redsystem'; inherited Create( AOwner ) end; end. ----- Original Message ----- From: Eduardo Silva ® To: delphi-br@yahoogrupos.com.br Sent: Thursday, August 25, 2005 9:33 AM Subject: RES: [delphi-br] Pintar Célula Do DBGrid Amigo, veja este código.... É um bom começo, se alguém quiser dar uma melhorada nele, ou mesmo contribuir para esta dica, a comunidade agradece e eu tambem procedure TfrmSIAE0101pq.gridSIAE0101pqDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var I, J, K, L : Integer; Fonte : TFont; Area : TRect; Cor : TColor; T1, T2, P1 : Integer; Trecho1, Trecho2, Trecho3 : String; Texto, Pesquisar : String; begin Area := Rect; Texto := Column.Field.AsString; Pesquisar := Trim(edtInformacao.Text); T1 := Length(Texto); T2 := Length(Pesquisar); P1 := Pos(UpperCase(Pesquisar), UpperCase(Texto)); if (P1 = 0) Then Exit; //CONTEÚDO DESMEMBRADO DA CÉLULA Trecho1 := Copy(Texto, 1, P1 - 1); Trecho2 := Copy(Texto, P1, T2); Trecho3 := Copy(Texto, P1 + T2, T1); //CONFIGURAÇÃO ORIGINAL DO DBGRID Fonte := gridSIAE0101pq.Font; Cor := gridSIAE0101pq.Color; with gridSIAE0101pq.Canvas Do begin //INICIO DO TEXTO I := TextWidth(Trecho1); Area.Right := Area.Right - I; TextRect(Area, Area.Left, Area.Top, Trecho1); //TRECHO LOCALIZADO Brush.Color := clBtnFace; Font.Color := clYellow; Font.Style := [fsBold] + Fonte.Style; Font.Size := Fonte.Size; if (gdSelected in State) then begin Brush.Color := clRed; Font.Color := clYellow; end; J := TextWidth(Trecho2); Area.Left := Area.Left + I + 1; Area.Right := Area.Left + J + 1; TextRect(Area, Area.Left, Area.Top, Trecho2); //FIM DO TEXTO Brush.Color := Cor; Font.Assign(Fonte); if (gdSelected in State) then begin Brush.Color := clHighlight; Font.Color := clHighlightText; end; L := TextWidth(Trecho3); Area.Left := Area.Right; Area.Right := Area.Right + L; TextRect(Area, Area.Left, Area.Top, Trecho3); end; end; -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Cleiton Enviada em: quinta-feira, 25 de agosto de 2005 08:18 Para: Delhpi Assunto: [delphi-br] Pintar Célula Do DBGrid Olá pessoal... Tenho um formulário para pesquisa em que utilizo um edit e um DBgrid. O usuário digita por exemplo o nome do cliente no edit e no dbgrid é marcado o cliente desejado. Teria como eu destacar de outra cor ou até mesmo deixar em negrito a célula do DBgrid que possui o cliente pesquisado? Alguém sabe como fazer isso? Obrigado a todos. -- Esta mensagem foi verificada pelo sistema de antivírus e acredita-se estar livre de perigo. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: ------------------------------------------------------------------------ ---- -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __________ NOD32 1.1201 (20050825) Information __________ This message was checked by NOD32 antivirus system. http://www.nod32.com [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: -------------------------------------------------------------------------- ---- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: ---------------------------------------------------------------------------- -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __________ NOD32 1.1201 (20050825) Information __________ This message was checked by NOD32 antivirus system. http://www.nod32.com [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html