Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Falla búsqueda incremental con twwIncrementalSeach (https://www.clubdelphi.com/foros/showthread.php?t=83702)

to_to 17-07-2013 07:12:48

Falla búsqueda incremental con twwIncrementalSeach
 
Hola foro, estoy utilizando un componente de infopower para realizar un búsqueda incremental en un TsimpleDataSet (DbExpress) ligado a un DBGrid. Como estoy utilizando una forma para varios catálogos intento actualizar la conexión de este componente (DataSource) en tiempo de ejecución, asignando el campo en la propiedad "SearchField" para que el usuario elija a través de un combobox el campo por el cual desea buscar. Para una tabla me lo hace bien pero cuando intento acceder a otro catálogo no hace la búsqueda. Tengo el mismo componente de conexión para las otras consultas y asigno tanto el datasource como los campos en tiempo de ejecución al DBGrid, pero como lo comento para las otra tablas no lo hace. Estoy utilizando "querys" y no tablas para obtener los datos de los catálogos.

Esta es la sentencia que utilizo para asignar el nombre del campo por el cual buscará el componente

InSeBusqueda.SearchField := FConsulta.TsLsListaCampos.Strings[FConsulta.DBCmboCampos.ItemIndex];

Alguien ha utilizado este componente y tendrás una idea de que puede estar fallando. Aexo el código completo para ver si estoy cometiendo algún error...., agradezco mucho su apoyo.


En este código si realiza las búsquedas correctamente:

Código Delphi [-]
   FConsulta := TFConsulta.Create(Self);
      FConsulta.Caption := 'Consulta de Clientes';

      FConsulta.DBCmboCampos.Items.Clear;
      FConsulta.TsLsListaCampos.Clear; {limpio lista de campos}
      
      FConsulta.DBCmboCampos.Items.Add('RAZON SOCIAL'); {como donde ve el usuario los campos}
      FConsulta.TsLsListaCampos.Add('NOMCLIENTE');           {stringlist donde recupero el nombre correcto del campo}
      FConsulta.DBCmboCampos.Items.Add('RFC');
      FConsulta.TsLsListaCampos.Add('RFC');
      FConsulta.DBCmboCampos.Items.Add('CVE. CLIENTE');
      FConsulta.TsLsListaCampos.Add('IDCLIEN01');

      FConsulta.wwDBGrid1.DataSource   := DMODULO.DSCliente; {asigno el datasource de la tabla que dese consultar}
      FConsulta.DbNCatalogo.DataSource := DMODULO.DSCliente;

      FConsulta.DBCmboCampos.ItemIndex := 0;
      FConsulta.InSeBusqueda.SearchField :=  FConsulta.TsLsListaCampos.Strings[FConsulta.DBCmboCampos.ItemIndex];

      FConsulta.wwDBGrid1.Selected.Clear;
       FConsulta.wwDBGrid1.Selected.Add('IDCLIEN01'+#9+'8'+#9+'Clave');
       FConsulta.wwDBGrid1.Selected.Add('NOMCLIENTE'+#9+'35'+#9+'Razón Social');
       FConsulta.wwDBGrid1.Selected.Add('RFC'+#9+'18'+#9+'RFC');
       FConsulta.wwDBGrid1.Selected.Add('EMAIL1'+#9+'30'+#9+'Correo Elect.');
       FConsulta.wwDBGrid1.ApplySelected;
      DMODULO.SmDstLstMClien.Active := True;
      DMODULO.SmDstLstMClien.DataSet.Active := True;
      FConsulta.ShowModal;

En esta otra definición para otro catálogo ya no realiza ninguna búsqueda.

Código Delphi [-]
 FConsulta := TFConsulta.Create(Self);
      FConsulta.Caption := 'Consulta de Pedidos';
      FConsulta.DBCmboCampos.Items.Clear;
      FConsulta.TsLsListaCampos.Clear;

      FConsulta.DBCmboCampos.Items.Add('CVE PEDIDO');
      FConsulta.TsLsListaCampos.Add('IDASIDOC');
      FConsulta.DBCmboCampos.Items.Add('RAZON SOCIAL');
      FConsulta.TsLsListaCampos.Add('NOMCLIENTE');
      FConsulta.DBCmboCampos.Items.Add('RFC');
      FConsulta.TsLsListaCampos.Add('RFC');

      FConsulta.DBCmboCampos.ItemIndex := 0;

      FConsulta.wwDBGrid1.DataSource   := DMODULO.DsHDocCons;
      FConsulta.DbNCatalogo.DataSource := DMODULO.DsHDocCons;
      FConsulta.wwKeyCombo1.DataSource := DMODULO.DsHDocCons;

      FConsulta.InSeBusqueda.SearchField := FConsulta.TsLsListaCampos.Strings[FConsulta.DBCmboCampos.ItemIndex];

      FConsulta.wwDBGrid1.Selected.Clear;
       FConsulta.wwDBGrid1.Selected.Add('IDASIDOC'+#9+'10'+#9+'Cve. Pedido');
       FConsulta.wwDBGrid1.Selected.Add('FECHA'+#9+'10'+#9+'Fec. Pedido');
       FConsulta.wwDBGrid1.Selected.Add(CLIENTE1'+#9+'35'+#9+'Cliente');
       FConsulta.wwDBGrid1.Selected.Add('RFC'+#9+'30'+#9+'RFC');
       FConsulta.wwDBGrid1.ApplySelected;
      DMODULO.SmDstHDocCons.Active := True;
      DMODULO.SmDstHDocCons.DataSet.Active := True;

Alguna sugerencia, agradezco su apoyo.


La franja horaria es GMT +2. Ahora son las 17:46:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi