Fórum Pintar DBGrid se localizar texto #204145
05/01/2004
0
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...
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
Curtir tópico
+ 0
Responder
Posts
05/01/2004
Aroldo Zanela
Colega,
if Copy(grdLista.Columns.Items[li_loop].Field.Text,1,Length(edtValoCamp.Text)) = edtValoCamp.Text then
Responder
Gostei + 0
06/01/2004
Danielclubedelphi
Matou...Valeu.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)