Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como salir del modo edicion en una cxGrid (https://www.clubdelphi.com/foros/showthread.php?t=96629)

franco_123 05-03-2024 12:28:42

Como salir del modo edicion en una cxGrid
 
Hola estoy trabajando con una cxGrid que tiene sus celdas editables. hay una de ellas que debe realizar unas validaciones en el afterEdit con el valor que se ingresa en la misma. Para poder realizar correctamente necesitaría que la celda salga del modo edición. Hay forma de hacerlo?
Saludos

Neftali [Germán.Estévez] 06-03-2024 08:14:06

Cita:

Empezado por franco_123 (Mensaje 554748)
Hola estoy trabajando con una cxGrid que tiene sus celdas editables. hay una de ellas que debe realizar unas validaciones en el afterEdit con el valor que se ingresa en la misma. Para poder realizar correctamente necesitaría que la celda salga del modo edición. Hay forma de hacerlo?

¿Al salir de la celda no deja de estar en edición?
No acabo de entender bien lo que necesitas...

aledieb 06-03-2024 14:46:06

Hola, proba con los métodos PropertiesValidate, PropertiesEditValueChanged de las columnas.

cxGridDBTableView1Columna1PropertiesValidate.

Suerte

franco_123 07-03-2024 12:59:51

Aclaracion
 
Cuando escribo sobre la celda un valor, por ej: 55 y presiono enter se ejecuta la validación que revisa si el valor ingresado es mayor a 40, como lo es debe colocar 0,00 en la celda pero como la misma sigue en modo edición la celda no registra el nuevo valor y queda en 55.
Ya encontré la forma de modificar el valor de la celda cuando este en modo edición, pero esto repercute mucho en el rendimiento del programa, lo que yo necesito es la forma de sacar la celda de modo edición para que no sea necesaria la validación si esta o no siendo editada la celda

aledieb 07-03-2024 16:08:44

Hola, proba con esto:

Código Delphi [-]
procedure Tfrm.cxgrdDBTableView1ColumnaPropertiesValidate( Sender: TObject; var
  DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean );
begin
  if ( DisplayValue = null ) or ( DisplayValue >40 ) then
  begin
    Error := true;
    DisplayValue := 0;
  end;
end;

Esto hace que el valor de la celda cambie, al usar DisplayValue:=0
Error:=True hace que no salga de la columna.

La columna la tengo definida en el grid como "CurrencyEdit" en Properties.

Creo que para que salga del modo edición hay que hacer un post ó cancel en la tabla/query.

Shylie 11-03-2024 07:18:47

Cita:

Empezado por franco_123 (Mensaje 554748)
Hola estoy trabajando con una cxGrid que tiene sus celdas editables. hay una de ellas que debe realizar unas validaciones en el afterEdit con el valor que se ingresa en la misma. Para poder realizar correctamente necesitaría que la celda salga del modo edición. Hay forma de hacerlo?
Saludos

¡Hola! Parece que necesitas que una celda en una cxGrid salga del modo edición para realizar validaciones en el evento AfterEdit.

franco_123 11-03-2024 19:56:54

Exactamente es lo que necesito hacer, pero no se como hacerlo. Todo lo que he probado no funciona

aledieb 12-03-2024 15:01:24

Hola.
Estas usando cxGrid de DevExpress?
Probaste cambiar la validación al ejemplo que pase?

A mi parecer es mejor usar OnValidate de la celda para validar los datos que ingresa el usuario.

Creo que el afterEdit solo se ejecuta cuando en el grid se cambia de celda.


La franja horaria es GMT +2. Ahora son las 23:18:26.

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