PDA

Ver la Versión Completa : DataGrid


miss flakita
29-01-2008, 17:04:28
Hola chicos realmente me urge ke me ayuden... ya he programado en delphi pero he usado muy poco el datagrid...
megustaria que me dijeran como puedo restringir al usuario para que despues de insertar 4 registros en la BD a traves del datagrid lo restrinja para que ya no pueda ingresar mas

les agradezco su ayuda... cuidense

ContraVeneno
29-01-2008, 17:56:13
Bienvenido al Club, te recomiendo que leas la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)...

por lo pronto podrías utilizar un contador y utilizar los eventos de tu Dataset:


BeforeOpen()
Contador := 0;

AfterInsert()
Contador := Contador + 1;

BeforeEdit() ...
If Contador > 4 then Exit;

miss flakita
29-01-2008, 18:12:12
Muchas gracias contra veneno, voy a probar el consejo que me das, espero y me resulte por ke ya estoy dandome de golpes en el monitor... jajaja

sale gracias

miss flakita
29-01-2008, 19:36:40
Hola contraveneno no me resulto el consejo que me diste, realmente no hace nada...

Delphius
29-01-2008, 19:45:29
Hola miss flakita,
¿Podrías darnos más detalles, profundizar en tu explicación, y además incluir el código si no te es demasiada molestia?

Saludos,

miss flakita
29-01-2008, 19:53:20
Hola Delphius!!! mira estoy haciendo un sistema con bases de datos en Interbase, donde esta incluye la generacion de solicitud de refacciones y ordenes de compra, estas vienen siendo como facturas, es decir, contienen encabezado y detalles. El problema es que tengo que imprimirlas en un formato que ya tiene la empresa y solo se pueden imprimir 4 o 5 articulos por documento.

Y lo que quiero hacer es limitar en el datagrid cuando ingresan los articulos para que solo sean 4 o 5 y no mas, para que en la impresion salga bien. Estoy utilizando el Qreport.

Ha y estoy trabajando con los eventos de las tablas...

el codigo que me dio contraveneno lo hice en los eventos de la tabla detalles

Delphius
29-01-2008, 20:03:50
Hola Delphius!!! mira estoy haciendo un sistema con bases de datos en Interbase, donde esta incluye la generacion de solicitud de refacciones y ordenes de compra, estas vienen siendo como facturas, es decir, contienen encabezado y detalles. El problema es que tengo que imprimirlas en un formato que ya tiene la empresa y solo se pueden imprimir 4 o 5 articulos por documento.

Y lo que quiero hacer es limitar en el datagrid cuando ingresan los articulos para que solo sean 4 o 5 y no mas, para que en la impresion salga bien. Estoy utilizando el Qreport.

Ha y estoy trabajando con los eventos de las tablas...

el codigo que me dio contraveneno lo hice en los eventos de la tabla detalles


Miss Flakita, asi como redactas el problema me parece que no se trata de llenar registros a la base de datos, sino hacer que la impresión se ajuste a 4 o 5 registros por hoja ¿O no estoy comprendiendo el problema?

Si es como yo pienso deberías jugar con los eventos AfterPrint y/o BeforPrint de por ejemplo el QrSubDetail. Además se debería indicarle para que salte a la siguiente hoja...

Este jueguito consistiría en el mismo principio que menciona Contra, llevar un contador, de modo que una vez impreso el 4 o el 5, dar la orden de continuar en la siguiente hoja.

Espero que se me entienda...

Saludos,

miss flakita
29-01-2008, 20:11:06
ok! delphius gracias, dejame intenterlo....

miss flakita
29-01-2008, 20:25:45
Muchisimas gracias Delphius, ya lo hice en el qreport y si me resulto... jeje
muy amable que tengas chido dia!!!!

Delphius
29-01-2008, 20:35:27
Muchisimas gracias Delphius, ya lo hice en el qreport y si me resulto... jeje
muy amable que tengas chido dia!!!!

Me alegro mucho que lo hayas logrado. Si no es demasiada molestia. ¿Podrías dar a conocer tu solución? En lo posible el código. Esto podría beneficiar a otras personas que tengan la misma o similar duda.

Saludos,

miss flakita
29-01-2008, 21:00:40
si mira, lo que hice fue que en los eventos del rbdetail de qreport hice:

beforePrint:
contador:=contador+1;
//puse un contador para ke checara cuantos renglones lleveva por hoja y...

afterPrint:
if contador=4 then
QuickRep1.NewPage;
//compare si el contador era igual a 4 renglones, entonces pasar a otra pagina

saludillos.... bye

ContraVeneno
29-01-2008, 23:03:45
pues sí... si me lo hubieran mencionado desde un principio... :D, pero como nunca dijiste nada de un Qreport, pues....:p

miss flakita
29-01-2008, 23:14:08
Pero viendolo bien tu fuiste el ke nos dio la idea del contadorrrrrr, jejeje

asi que tambien gracias a ti, jejeje