PDA

Ver la Versión Completa : Como salir del modo edicion en una cxGrid


franco_123
05-03-2024, 12:28:42
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
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
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:


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
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.