Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2018
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 225
Poder: 14
darkamerico Va por buen camino
Problema para Actualizar en un VirtualQuery

Saludos amigos, estoy haciendo un carrito de compras usando 10.2.1 Tokyo y SQL Server 2014. He aqui la situacion:

Paso 1: Identificación de Componentes Involucrados:

1. cxGrid (nombre=gridCarritoCompra),
2. TVirtualTable (nombre=vt_Carrito)
3. TVirtualQuery (nombre=q_UPDParams)
4. TUniDataSource (nombre=ds_Carrito)
5. TcxTextEdit (nombre=txtCantidad)
6. TcxTextEdit (nombre=txtPrevioVenta)

Paso 2: Descripción del Proceso

1. El Usuario busca y selecciona un producto, el cual se agrega a vt_Carrito y se muestra en gridCarritoCompra. (Esto funciona bien). Por defecto la cantidad del pedido agregado es 1.

2. El usuario al hacer doble clic sobre la fila que contiene el pedido de un producto en vt_Carrito, se permite cambiar la cantidad y el precio de venta en txtCantidad y txtPrecioVenta ubicados en la parte inferior del cxgrid.

3. Se programó el evento OnExit de txtCantidad para ejecutar el siguiente código:
Código Delphi [-]
procedure TfrmCompras.txtCantidadExit(Sender: TObject);
begin
  q_UPDParams.Close;
  q_UPDParams.Params[0].AsString:=txtCantidad.Text;
  q_UPDParams.Params[1].AsString:=txtPrecioVenta.Text;
  q_UPDParams.Params[2].AsString:=FloatToStr(StrToFloat(txtCantidad.Text)*StrToFloat(txtPrecioVenta.Text));
  q_UPDParams.Params[3].AsString:=IntToStr(idNroDetailSelecc);
  q_UPDParams.ExecSQL;
  gridCarritoCompraDBTableView1.DataController.DataSet.Refresh;
  q_CalcTotal.Close;
  q_CalcTotal.Open;
  txtMontoTotal.Text:=q_CalcTotal.Fields[0].AsString;
end;

4. El Codigo SQL de q_UPDParams es:
Código SQL [-]
UPDATE vt_Carrito
SET CANT=:NewCant,
    PRECIOUNIT=:NewPrecio,
    SUBTOTAL=:NewSubTotal
WHERE NRO=:NroX

5. Los Eventos Click y DblClick de la cxGrid los coloco a continuacion:

Código Delphi [-]
procedure TfrmCompras.gridCarritoCompraDBTableView1CellClick(
  Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo;
  AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
var
  ColCant,ColPrecioVenta, ColNro:TField;
begin
  ColCant:=gridCarritoCompraDBTableView1CANT.DataBinding.Field;
  ColPrecioVenta:=gridCarritoCompraDBTableView1PRECIOUNIT.DataBinding.Field;
  ColNro:=gridCarritoCompraDBTableView1NRO.DataBinding.Field;
  txtCantidad.Text:=ColCant.AsString;
  txtPrecioVenta.Text:=ColPrecioVenta.AsString;
  idNroDetailSelecc:=ColNro.AsInteger;
end;

procedure TfrmCompras.gridCarritoCompraDBTableView1CellDblClick(
  Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo;
  AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  itemCantidad.Enabled:=True;
  itemPV.Enabled:=True;
  txtCantidad.SetFocus;
end;


El problema es que solo funciona la primera vez la actualización, visualizandose el cambio en la grilla, la segunda vez y subsiguientes no hace ningún cambio.

Agradezco cualquier ayuda en esto.

Americo
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema para actualizar fecha oscarac OOP 3 31-01-2018 01:33:27
Actualizar freepascal para programar con XE2 para iOS PacoPepe FireMonkey 0 18-04-2013 11:19:21
Problema con Stored Procedure para actualizar tabla con datos de otra tabla. Adrian Murua MySQL 4 04-02-2012 02:54:49
Problema para actualizar el servidor papulo Firebird e Interbase 42 04-09-2008 11:15:28
Problema Para Actualizar Un Registro sdiaz1983 Conexión con bases de datos 3 21-01-2008 04:00:10


La franja horaria es GMT +2. Ahora son las 08:30:15.


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
Copyright 1996-2007 Club Delphi