PDA

Ver la Versión Completa : Campo vacío en CxGrid


cmfab
30-04-2012, 19:12:09
hola a todos, uso para la representación de los datos de una tabla las grillas de las devexpress (cxGrid). alguien podría secirme como puedo controlar para que por ejemplo un campo numerico no quede vacío al seleccionar su contenido y suprimir el mismo. o bien que cuando el usuario trate de realizar esta acción la celda de la vista quede rellenada con el valor cero.


Gracias por sus atenciones !!!

AzidRain
30-04-2012, 22:25:51
El grid (cualquiera que sea su clase) solo es una representación visual de lo que contiene cada campo de los registros de una tabla, por lo que cualquier validación que quieras hacer debes hacerla directamente en el componente que maneja la tabla. La forma más simple de resolver tu problema es corregir el error de diseño que tienes, pues la tabla debió haberse diseñado para que en los casos en donde no quieras que un campo contenga un nulo, le pongas un valor por defecto. No mencionas que BD utilizas, pero todos sin excepción te permiten indicar lo que menciono.

De manera que si declaras que un campo "folio" tiene por default un valor de 0, cuando en tu programa edites dicho valor y lo dejes en blanco (nulo) siempre se guardará 0.

cmfab
30-04-2012, 22:50:32
Gracias por la respuesta, si tienes razon, lo he resuelto con los eventos onbeforepost y afterpost de la tabla (uso BD MySQL), pero el tema es que aunque ponga un valor por defecto en el campo de la vista del CxGrid el usuario puede borrar el contenido del campo y dejar la celda que representa a este en blanco, así que usé esos eventos para evitar que quede vacío.

gracias una vez mas por el tiempo dedicado !!!!!

AzidRain
30-04-2012, 23:42:32
No es en el campo de la vista donde debes hacer el cambio, es directamente en la base de datos sin usar Delphi ni nada, MySQL llenará los campos que estén nulos con su valor por default.

cmfab
02-05-2012, 13:25:27
así lo hice y funcionó correctamente. gracias una vez mas