Ver Mensaje Individual
  #2  
Antiguo 12-12-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Agustín.

Fijate si podes sacar algo de provecho de este código de prueba:


Código Delphi [-]
...
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  a,b,c: string;
  p    : Integer;
  cv   : TCanvas;
  fs   : TFontStyles;
begin
  p := AnsiPos(FSearched, Column.Field.AsString);
  if (p <> 0) and (Column.Field is TStringField) then
  begin
    a := Copy(Column.Field.AsString, 1, p - 1);
    b := Copy(Column.Field.AsString, p, Length(FSearched));
    c := Copy(Column.Field.AsString, p + Length(FSearched), MaxInt);
    cv := TDBGrid(Sender).Canvas;
    cv.FillRect(Rect);

    p  := Rect.Left + 2;
    fs := cv.Font.Style;
    cv.Font.Style := [];
    cv.TextOut(p, Rect.Top + 2, a);

    Inc(p, cv.TextWidth(a));
    cv.Font.Style := [fsBold];
    cv.TextOut(p, Rect.Top + 2, b);

    Inc(p, cv.TextWidth(b));
    cv.Font.Style := [];
    cv.TextOut(p , Rect.Top + 2, c);
  end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  FSearched := Edit1.Text;
  DBGrid1.Invalidate;
end;
...
Esta para ser usado sobre TStringFields (y tendrías que filtrar las columnas deseadas en el condicional)

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita