![]() |
evaluar expresion en dbgrid
Estimados amigos tengo una duda como puedo evaluar una expresión numérica dentro de un dbgrid o que componente puedo usar
Por ejemplo Que en un campo de tipo numérico ingrese 12-3 o 2*3 o 100*10/3-5 y que devuelva el resultado en el mismo o permita realizar el cambio del resultado mediante otra operacion Gracias |
Mira este hilo, creo que es lo que buscas.
|
Gracias, pero lo que quiero es que me perimita realizarlo en la grilla, que sea parte de la grilla
|
No lo entiendo, en el dbgrid aparece lo que hay en la base de datos. Si en la base de datos has guardado "12*(3/5)", entonces en el dbgrid aparecerá exactamente eso.
Ahora tú debes tomar ese texto y hacer el cálculo (para eso sirve la función que te he enlazado antes) y ahora puedes presentar el resultado en una columna calculada del dbgrid o donde quieras, eso ya depende de lo que quieras hacer. |
Perdon lo que quiero es que se evalue automaticamte la expresion que le de y me almacene solo el valor no la expresion, lo que hice hasta el momento es usar el componente CalcExpress, y un edit que lo inclui al DBGrid, mi problema esta en que no puedo salir de la celda con las teclas de cursor o una ves terminado de editar
lo que hice fue a un dbgrid
mas conctratmente aqui esta el ejemplo http://crazy-soft.net/descargas/DBGridExpresion.rar Gracias, o hay algun componente que me realice lo que estoy hacendo |
Sí, más o menos se entiende lo que estás haciendo, pero realmente, ¿qué es lo quieres hacer?, lo mismo hay otras opciones más cómodas para hacer lo que quieres.
|
poder realizar una simple operacion de suma, resta, multiplicacion o division en la grilla
o que otra opcion mas sencilla hay gracias |
Si lo haces en el dbgrid estás accediendo directamente a los datos en la base de datos, seguramente la mejor opción (si quieres hacerlo en el dbgrid) sea usar los métodos gettext y settext del mismo, busca por esos términos. Básicamente es "interceptar" lo escrito y hacer el cálculo y que al dbgrid (al dataset, realmente) le lleguen los datos ya calculados.
|
Gracias, pero hice la prueba y no me permite el ingreso de los operadores * y / para poder calcular
o hay un ejemplo bajo la manga |
| La franja horaria es GMT +2. Ahora son las 02:32:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi