Ver Mensaje Individual
  #4  
Antiguo 02-11-2011
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 Choclito.

Cita:
El codigo que me brindaste lo cambie pero no hace nada
Debe ser por el componente TjVDBGrid, ya que el código estaba probado y funciona correctamente con un TDBGrid.

Cita:
Como se ve lo que quisiera es que registrando en un edit el codigo de una de las oficinas que se busque en el dbgrid y se pinte la fila en un tiempo determinado y emitiendo un sonido
Entonces el planteo ha cambiado, ahora se hace innecesaria la variable FPintar ya que se puede evaluar el contenido de Edit1.Text.

Te pongo un ejemplo con busqueda incremental:
Código Delphi [-]
...
implementation

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if (gdSelected in State) and (Edit1.Text > '') then
    with (Sender as TDBGrid) do
    begin
      Canvas.Brush.Color:= clRed;
      Canvas.Font.Color:= clWhite;
      DefaultDrawColumnCell(Rect, DataCol, Column, State);
      MessageBeep(MB_OK);
    end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM TU_TABLA ');   // reemplazá TU_TABLA  por el nombre de la tabla
    SQL.Add('WHERE CODIGO LIKE :FOUND ');
    ParamByName('FOUND').AsString:= Edit1.Text+'%';
    Open;
  end;
end;

Y otro que hace el posicionamiento ante el evento OnClick de un TButton:
Código Delphi [-]
...
implementation

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if (gdSelected in State) and (Edit1.Text > '') then
    with (Sender as TDBGrid) do
    begin
      Canvas.Brush.Color:= clRed;
      Canvas.Font.Color:= clWhite;
      DefaultDrawColumnCell(Rect, DataCol, Column, State);
      MessageBeep(MB_OK);
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Locate(CODIGO', Edit1.Text,[]);
  DBGrid1.Invalidate;
end;

Pero como te comento no uso los mismos componentes...


Un saludo.
__________________
Daniel Didriksen

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