[Lazarus-es] Como resuelvo esto!!!

Fredy Gonzales fredyg1965 en gmail.com
Vie Ene 15 15:28:25 CET 2010


Gracias por tu apoyo, pero cuando pienso en filtrar estoy asumiendo que el dataset tiene todos los registros  cargado, entonces pense que quizas para evitar demora en filtrado (cuando sean mas de 1,000) decidi prepararlo en un query que me de solo lo que necesito.

Filterer si lo uso, pero para algo que se que no va a superar mas de 100, registros (en tablas de apoyo).

Gracias.

FG
  ----- Original Message ----- 
  From: José Ant Cuello 
  To: Spanish version of Lazarus List 
  Sent: Friday, January 15, 2010 2:25 AM
  Subject: Re: [Lazarus-es] Como resuelvo esto!!!


  Hola, si no son muchos registros también puedes usar el filtrado de registros con la propiedad "filtered" y el evento onfilter y en el evento onchange del tcombobox simplemente hacer un first del tdataset para que refresque ... luego lo del bookmark sigue siendo igual.

  Sólo por dar otra idea ... Un saludo.


  Fredy Gonzales escribió: 
    Amigos,

    Tengo un formulario con tres TDBGrid, pero uno de ellos es dinamico (se carga con data de mysql cuando el usuario mueve un combobox)

    mi modulo de carga dinamica lo pongo en el evento combochange y es este, para esto utilizo los dataset de Zeos 6 y mysql

         With global.lstmovimientos do begin;
             Close;
             SQL.Text:='select * from servicios Where ser_estado="' + comobo.text + '"'; 
             Open;
         end;
         dsmovimiento.DataSet:= global.lstmovimientos;   

    ok, En un timer tengo el evento que refresca el TDBGrid cada minuto ( dbservicios es el TDBGrid y el DataSource asignado es el dsmovimiento)
    y es este el codigo 

    procedure Tfrmservicios.Timer1Timer(Sender: TObject);
    var
       p:TBookMark;
    begin
      Timer1.Enabled:=False;

      if (dbservicios.DataSource.DataSet.RecNo>0) then;
         Begin
           dbservicios.DataSource.DataSet.DisableControls;
           p:= dbservicios.DataSource.DataSet.GetBookmark;
           dbservicios.DataSource.DataSet.Refresh;
           dbservicios.DataSource.DataSet.GotoBookmark(p);
           dbservicios.DataSource.DataSet.FreeBookmark(p);
           dbservicios.DataSource.DataSet.EnableControls;
         end;

      Timer1.Enabled:=True;

    end;

    Como veran yo consulto si dbservicios (el tdbgrid) esta con registros o no, dado que siempre existe cambios y puede quedar vacio, pero por alguna razon no me esta funcionado el RecNo del dbservicios.
    Mejor dicho, cuando el tdbgrid esta vacio, el lo asume como lleno y pasa me da un error al no poder ubicar el puntero del bookmark, asi que el programa se bloquea.

    Espero no haberlos cansado y gracias por su colaboracion.

    FG
    Lima - Peru





----------------------------------------------------------------------------
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
  



------------------------------------------------------------------------------


  _______________________________________________
  Lazarus-es mailing list
  Lazarus-es en lists.lazarus.freepascal.org
  http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20100115/16b4f24c/attachment-0002.html>


More information about the Lazarus-es mailing list