Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Delphi para la web (https://www.clubdelphi.com/foros/forumdisplay.php?f=51)
-   -   Problema con refresco de un TIWDBGrid (https://www.clubdelphi.com/foros/showthread.php?t=90498)

darkamerico 26-06-2016 05:55:22

Problema con refresco de un TIWDBGrid
 
Saludos amigos, nuevamente por aquí con una dudilla :)

Estoy escribiendo la versión Web de una aplicación que tengo en VCL Win32, estoy usando Intraweb XIV, se trata de una aplicación de ejemplo académico de un personal de banco (un cajero), el sistema permite realizar depósitos y retiros, los clientes son seleccionados de un TIWCombobox, al momento de seleccionar un Cliente debe visualizarse en el TIWDBGrid sus movimientos, esto funciona perfectamente en la aplicación de escritorio pero no logro que funcione en la IntraWeb, miren el código:

Código Delphi [-]
procedure TfrmPrincipal.cboClientesAsyncChange(Sender: TObject;
  EventParams: TStringList);
var
  posPunto:integer;
begin
  posPunto:=pos('.',cboClientes.Text);
  setCookie('idClienteSelected',Copy(cboClientes.Text,1,posPunto-1));
  ObtieneSaldoCliente(StrToInt(GetCookieValue('idClienteSelected')));
  VerMovimientos(StrToInt(GetCookieValue('idClienteSelected')));
end;

El procedimiento en cuestión es VerMovimientos, el cual pasamos a detallar a continuacion:

Código Delphi [-]
procedure TfrmPrincipal.VerMovimientos(id: integer);
begin
  objDM.q_MovimientosX.Close;
  objDM.q_MovimientosX.Params[0].AsInteger:=id;
  objDM.q_MovimientosX.Open;
  objDM.ds_MovimientosX.DataSet.Refresh;
  gridMovimientos.DataSource:=objDM.ds_MovimientosX;
  navMovimientos.DataSource:=objDM.ds_MovimientosX;
end;

La variable id si está llegando pero el grid no muestra nada, ni los nombres de los campos en las columnas:

Oh el objeto objDM lo inicializo en el evento Create como se aprecia a continuación:

Código Delphi [-]
procedure TfrmPrincipal.IWAppFormCreate(Sender: TObject);
begin
  objDM:=TDM.Create(WebApplication);
end;

TDM es un TDataModule.


La consulta SQL del componente q_MovimientosX es:

Código SQL [-]
SELECT movimiento.id_movimiento, movimiento.moneda, movimiento.tip_mov, movimiento.fecha_mov, 
movimiento.monto_orig, movimiento.monto_soles, movimiento.tc, movimiento.saldo_ant, movimiento.saldo_act,
movimiento.idcliente_fk
FROM movimiento
WHERE movimiento.idcliente_fk =:IDClienteX
ORDER BY movimiento.id_movimiento DESC

Agradecería alguna luz referente al tema.

Muy Agradecido.

Américo

darkamerico 26-06-2016 15:40:09

Saludos
 
Amigos, Al realizar un retiro la grilla de movimientos magicamente se activo, pero sigo sin entender donde esta el error.

Aqui les dejo el codigo Fuente para aquellos interesados.



Source

Usuario: cajero
Clave: 123

Saludos

darkamerico 30-06-2016 15:22:32

Rpta
 
Bueno, investigando llegue a determinar que el componente TIWDBGrid no esta capacitado para refrescarse a si mismo en conjuncion de un evento tipo Async. No se para que la gente de Atozed hace cosas incompletas, nos hace perder tiempo.

De modo que reemplace este componente por un TIWGrid normal y llene los campos manualmente y funciono.

Atte

Americo


La franja horaria es GMT +2. Ahora son las 07:21:18.

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