Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Validar una celda en un stringgrid editable (https://www.clubdelphi.com/foros/showthread.php?t=55716)

pjmedina 24-04-2008 18:31:35

Validar una celda en un stringgrid editable
 
Buenas a tod@s,

tengo un StringGrid editable, y me gustaría saber si hay alguna forma de validar los datos que le introduzco. Por ejemplo si es entero, real, o texto. Ademas quiero que los campos aparezcan formateados, por ejemplo los tipo real que tengan siempre dos decimales.

Saludos, y espero que podais ayudarme.

Muchas gracias por la ayuda.

BlueSteel 24-04-2008 18:42:14

Cita:

Empezado por pjmedina (Mensaje 282314)
Buenas a tod@s,

tengo un StringGrid editable, y me gustaría saber si hay alguna forma de validar los datos que le introduzco. Por ejemplo si es entero, real, o texto. Ademas quiero que los campos aparezcan formateados, por ejemplo los tipo real que tengan siempre dos decimales.

Saludos, y espero que podais ayudarme.

Muchas gracias por la ayuda.


No se si exista eso.. pero lo que puedes es darle un formato a la columna en particular.. (no creo que todas las columnas tengan el mismo formato...)


y si quieres trabajar con numeros reales o entero o texto.. debes tratar de trabajar con el FormatFloat o FormatDateTime... o el que corresponda...

Salu2:p:D

PS; Que estas haciendo que necesitas ingresar en un StringGrid con formato

pjmedina 24-04-2008 18:45:20

Estoy haciendo un grid con precios y para ello necesito tenerlos formateados.

Pero deben formatearse cuando edito el grid y le asigno un valor desde teclado.
Asignandole el valor desde el codigo no tengo ningun problema.

No se si me llegas a entender.

Saludos.

BlueSteel 24-04-2008 18:50:39

Cita:

Empezado por pjmedina (Mensaje 282316)
Estoy haciendo un grid con precios y para ello necesito tenerlos formateados.

Pero deben formatearse cuando edito el grid y le asigno un valor desde teclado.
Asignandole el valor desde el codigo no tengo ningun problema.

No se si me llegas a entender.

Saludos.

Tendrias que trabajar con el Evento OnKeyPress.... por ejemplo (del StringGrid)

pones algo así..

Código Delphi [-]
 
If Key =#13 Then  // Cuando presiones Enter
  Begin
         If Columna 0 Then  Formato_de_Texto;  // preguntas si la celda corresponde a la primera columna
 
         if Columna 1 Then Formato_de_Entero; 
         If Columna 2 Then Formato_de_Real;
         If Columna 3 Then Formato_de_Moneda;
  End;

bueno, eso se me ocurre a mi...

Salu2:p:D

pjmedina 24-04-2008 18:54:02

Eso lo he pensado, aparte del enter debería de tener en cuenta la tabulación, pero el problema está en que cambie de celda con el ratón, que no se validaría.


No se si se te ocurre algo mas.

Existen los evento OnSetEditText, OnGetEditMask, OnGetEditText, pero creo que no me valen.

Muchas gracias por responderme. Te lo agradezco de veras.

HOUDEL 24-04-2008 19:56:45

Hola
 
[quote=pjmedina;282316]Estoy haciendo un grid con precios y para ello necesito tenerlos formateados.

quote]

Hola

ya intestaste cargar los campos a la tabla o qry que conetas al grid,
selecciona al que le vas ha dar formato mediante la propiedad Displayformat


por ejemplo el campo

PREPRO //precio del producto en este caso el campo
DisplayFormat= ##.00 // propiedad y forma en como se muestra el valor.


bueno saludos y espero te sirva

pjmedina 24-04-2008 20:01:54

Cita:

Empezado por HOUDEL (Mensaje 282353)

Hola

ya intestaste cargar los campos a la tabla o qry que conetas al grid,
selecciona al que le vas ha dar formato mediante la propiedad Displayformat


por ejemplo el campo

PREPRO //precio del producto en este caso el campo
DisplayFormat= ##.00 // propiedad y forma en como se muestra el valor.


bueno saludos y espero te sirva

Buenas,

el componente que utilizo es un stringgrid no un dbgrid. No existe la propiedad DisplayFormat.

Gracias de todas formas.

HOUDEL 24-04-2008 20:18:56

Orale !
 
La verdad yo nunca he utilizado un stringgrid, hasta ahora que lo mencionas he leido algo sobre el componente, aunque me gustaria que me digieras en que casos se utilizan y se pueden aplicar puesto que estoy en pañales respecto a este componete.

Saludos y ojala alguien me de una breve pero agradable explicacion.

Dedalo 24-04-2008 21:32:54

¿porque no utilizas el evento OnSelectCell? ese evnto curre siempre que entras en una celda, asi que tambien ocurre al abandonar la previa.

Yo haria lo siguiente: Cada vez que ocurra un OnSelectCell guardaria el valor de la celda en la que has entrado en unas variables, pero antes de eso validaria la celda que hay anotada en esas variables, (de que acabo de salir).

pjmedina 25-04-2008 11:18:07

Cita:

Empezado por HOUDEL (Mensaje 282362)
La verdad yo nunca he utilizado un stringgrid, hasta ahora que lo mencionas he leido algo sobre el componente, aunque me gustaria que me digieras en que casos se utilizan y se pueden aplicar puesto que estoy en pañales respecto a este componete.

Saludos y ojala alguien me de una breve pero agradable explicacion.


Yo lo utilizo por ejemplo para cargar lecturas o generar escrituras de ficheros xml. Se puede utilizar también un dbgrid, pero éste debe tener una datasource asociado.

Saludos.


La franja horaria es GMT +2. Ahora son las 19:22:03.

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