Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Un GRID para practica de ventas (https://www.clubdelphi.com/foros/showthread.php?t=34879)

firecode 24-08-2006 15:00:03

Un GRID para practica de ventas
 
Hola, soy novato en delphi.
Mi problema es el siguiente:

Quiero crear una un grid de venta de productos, que tenga varias columnas una para referencia, descripcion del producto, cantidad, precio, etc. Tambien quiero que se empiece a rellenar el GRID desde la primera fila hacia abajo, es decir, que hasta que no se haya rellenado al completo la primera fila, no pueda pasar a la siguiente, y asi sucesivamente.

Mi pregunta es, ¿que componte utilizo para ello? Y si me podeis orientar un poco.

He estado mirando varios manuales de delphi y no he encontrado nada que se ajuste a lo que quiero hacer.

Muchas gracias por la ayuda.

kuan-yiu 24-08-2006 17:09:20

Pues yo lo haría por separado: un DBgrid enlazado a una consulta para mostrar los datos y una serie de Edit (o DBedit) para cada uno de los campos con un botón de grabar en el que te aseguras de que todos los campos están correctamente cubiertos antes de ejecutar el insert.

De todos modos este tipo de procedimientos vienen en cualquier libro de Delphi y seguramente te sería de mucha ayuda buscar uno que se parezca a lo que quieras y usarlo para saber por dónde empezar.

Lepe 24-08-2006 17:27:19

Coincido con kuan-yiu. Un grid para añadir registros es muy simple, se le pueden añadir muy pocas características, o bien es tedioso hacerlo.

Un ejemplo es al introducir el precio de un producto, aunque tengas 2 decimales establecido en la base de datos, el grid te deja introducir infinitos números decimales, despues se redondea y muestra sólo 2 decimales.

Añadirle controles como TdateTimePicker, combos, etc, puede resultar engorroso y poco práctico.

Al estar añadiendo un nuevo registro, se puede pulsar la tecla "flecha Abajo" y ese registro se queda a "medio rellenar" empezando a añadir un nuevo registro.

El ancho que se tiene predefinido en un DBGrid, normalmente se queda corto para introducir una descripción de un producto, y el scroll horizontal es incómodo.

En fins.... que ya entiendes por qué no nos gusta usar el Grid para añadir registros ¿verdad? ;)

Saludos

firecode 24-08-2006 18:46:12

Os muestro un esquema de lo que quiero:
ReferenciaDescripciónCantidadPrecioDescuentoImporte

Quiero que el cursor al principio se situe en referencia de la primera fila.
Se introduce una referencia o una busqueda por nombre de descripcion en otra ventana.
Acto seguido, se toma el producto de la base de datos y se rellena descripción y precio.
El cursor pasa a la columna de cantidad, y despues a descuento.
Acto seguido el cursor pasaría a la columna de referencia de la fila siguiente inferior, habiendo calculado previamente el importe total de antes.

Ademas no quiero que se pueda modificar o situarse en filas inferiores a la que debería tocar ahora.

Esta es la idea de lo que quiero hacer.

Necesito que me recomendeis como hacer esto, y por favor tened en cuenta que soy novato a la hora de las explicaciones.

Gracias.

Casimiro Notevi 24-08-2006 19:16:58

Recuerdo que hay un grid ya preparado para lo que quieres, aunque mi neurona no responde, está saturada en este momento, pero si se queda ociosa en algún momento, le haré que lo busque.

La otra y casi única opción es hacerlo tu mismo, debes controlar que cuando se pulse una tecla en el grid, controlar el campo actual, no dejar salir si no es un dato correcto, si pulsa la fecha abajo que tampoco lo permita si no están todos los datos, etc. en fin, lo que ya se ha comentado antes, pero eso sí, creo que te tocará hacerlo a tí, poquito a poco, verás que tampoco es complicado, sólo es entretenido.

Aquí estaremos para cualquier duda que te surja, ya sabes.

firecode 25-08-2006 12:40:15

Muchas gracias por la ayuda, voy a ver si puedo programarlo.

Como puedo alinear al centro o a la derecha solo una celda del StringGrid?

Un Saludo.

Casimiro Notevi 25-08-2006 22:13:02

Cita:

Empezado por firecode
Muchas gracias por la ayuda, voy a ver si puedo programarlo.

Como puedo alinear al centro o a la derecha solo una celda del StringGrid?

Un Saludo.

si pinchas doble-click sobre el mismo, te sale una ventanita con la lista de los campos, puedes ajustar cada uno como más necesites.


La franja horaria es GMT +2. Ahora son las 14:10: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