Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Captura de evento en un CxGrid (https://www.clubdelphi.com/foros/showthread.php?t=91093)

lgarcia 09-11-2016 20:43:02

Captura de evento en un CxGrid
 
Hola: Estoy trabajando en un proyecto con Deplhi 7 y el componente CxGrid del DevExpress del 2012. El proyecto en si utiliza un CxGrid para introducir las cantidades de billetes y fraccionarias de un deposito en cuestion validandolo con un importe que previamente fue introducido. El Total del grid yo lo obtengo sin problemas con
Código Delphi [-]
Totalgrid := tvSuper.DataController.Summary.FooterSummaryValues[1]
el problema se me presenta cuando no coinciden los valores que puede ser por haber entrado mal el importe previo o porque el cajero se equivoco en la cantidad al pasarlo donde se origina una diferencia. Cuando esto ocurre un supervisor entra en el proceso revisa la documentacion original y revisa las cantidades que introdujo el cajero y rectifica las que estan mal. Como yo capturo el evento en el CxGrid de esos cambios para poder actualizar la diferencia. Espero haberme explicado bien.

Saludos
Luis Garcia

PD: Disculpen la repeticion del hilo pero esta pensando en el titulo que iba a ponerle al hilo y se fue sin titulo (Ca)

Neftali [Germán.Estévez] 10-11-2016 10:55:33

Si ese grid está conectado a un TDataset, utiliza los métodos del TDatset (OnChange, BeforePost,...)

De todas formas no me queda claro, qué cambios quieres actualizar. Los totales del cxGrid se calculan automáticamente, y si lo tienes "enganchado" a un TDataset, también debería ser automático.

lgarcia 10-11-2016 13:14:06

Gracias Neftali por la respuesta, en el formulario yo tengo 2 Edit uno donde muestro el importe previo que declaro el cliente dueño del deposito y otro que es de solo lectura que me da la diferencia que seria la resta del total contado menos el importe declarado, si el error es del valor del importe previo captutarando el evento OnExit del edit Importe lo soluciono, pero si es cuando el cajero tuvo algun error al pasar las cantidades y el supervisor tiene que cambiar cualquier denominacion dentro del cxgrid es donde no se como capturar el evento de ese cambio para que se me actualice el edit de la Diferencia y saber si esta cuadrado el deposito.

Saludos
Luis Garcia

Neftali [Germán.Estévez] 10-11-2016 13:56:48

Cita:

Empezado por lgarcia (Mensaje 510594)
...pero si es cuando el cajero tuvo algun error al pasar las cantidades y el supervisor tiene que cambiar cualquier denominacion dentro del cxgrid es donde no se como capturar el evento de ese cambio

Entonces en los eventos asociados al TDataset del Grid. Prueba en el OnChange, OnAfterPost,...

lgarcia 10-11-2016 16:29:52

Neftali voy a probar con esos eventos y te digo los resultados. Muchas gracias

Saludos
Luis Garcia

lgarcia 11-11-2016 14:49:28

Solucion del problema
 
Ayer contacte con un colega y despues de multiples pruebas pudimos solucionarlo de la siguiente forma:

Código Delphi [-]
procedure TFormConteo.tvOrdersEditValueChanged(
  Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
begin
  tvOrders.Controller.EditingController.Edit.PostEditValue;
  edDiferencia.Value:= tvOrders.DataController.Summary.FooterSummaryValues[0] - edImporte.Value;
end;

Espero que pueda servirle a alguien en el futuro

Saludos
Luis Garcia

Javier13 26-06-2017 04:44:22

Componente del tool palette
 
Como se llama el componente donde viene el cxGrid, tcxButton, tcxComboBox entre otros

Neftali [Germán.Estévez] 26-06-2017 09:16:02

Cita:

Empezado por Javier13 (Mensaje 518708)
Como se llama el componente donde viene el cxGrid, tcxButton, tcxComboBox entre otros

Si te refieres al paquete de componentes, son la DevExpress.


La franja horaria es GMT +2. Ahora son las 01:12:44.

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