Pintar DBGrid se localizar texto

Delphi

05/01/2004

Estou fazendo uma localização da seguinte forma:

if qryForm.Locate(NOMECAMPO , edtTEXTO.Text, [loPartialKey]) = True Then
begin
grdLista.Repaint;
end

e no procedimento: onDrawColumnCell eu pinto de amarelo caso seja igual ao texto do edit:

li_loop := 0;

while grdLista.Columns.Count > li_loop do
begin

if grdLista.Columns.Items[li_loop].Field.Text = edtValoCamp.Text then
begin
grdLista.Canvas.Brush.Color := clYellow;
grdLista.Canvas.Font.Color := clBlack;
grdLista.DefaultDrawDataCell(Rect, Column.Field, State);
end;

li_loop := li_loop + 1;

end;

O problema é que só pinta se for exatamente igual... Mas eu gostaria que pintasse se pelo menos o início fosse igual, ex: Localizar ´Jo´ e no grid ser pintado João, José, Joana, etc...


Danielclubedelphi

Danielclubedelphi

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

05/01/2004

Colega,

if Copy(grdLista.Columns.Items[li_loop].Field.Text,1,Length(edtValoCamp.Text)) = edtValoCamp.Text then



GOSTEI 0
Danielclubedelphi

Danielclubedelphi

05/01/2004

Matou...Valeu.


GOSTEI 0
POSTAR