![]() |
Dbgrid con fila numeradas
Hola foro, tengo un dbgrid con un clientdataset y lo que quiero hacer es que las filas se autonumeren, ejemplo. Cuando se crea una linea nueva en el grid que sea la 01 la siguen la 02 etc.
Ademas quiero que cuando guarro la información que esta en el from me lo guarde con un correlativo, tal como si fuese una from de facturación. |
Hola
Creo que sigues con el mismo problema con el dbgrid. No se, pero creo que este tutorial te ayudara. O por lo menos te dará ideas. Saludos PD: Esta recién salido del horno.:D Con vuestro permiso. |
gracias esto si me dio una idea pero aun tengo un problema, como dije estoy trabajando con clientdataset y necesito hacer la suma de dos columna horizantale y finalmente la suma de la column vertical:
quiero que el cliendatasetTOTAL debe ser igual al cliendatasetCOSTO * cliendatasetCANTIDAD y luego finalmente en un Edit1.text es igual a la suma detoda la culumna cliendatasetTOTAL. |
Cita:
2. Agrega un campo agregado (AggregateField) llamado GranTotal y pones sus propiedades: a. Expression: SUM(costo*cantidad) b. Active: true También te aseguras de poner en True la propiedad AggregatesActive del ClientDataSet. 3. Pones un DBEdit ligado a un datasource que esté ligado al ClientDataSet y en su propiedad DataField pones GranTotal. // Saludos |
DONDE AGREGO EL CAMPO: EN ADOQUERY? EN CLIENTDATASET O EN EL DBGRID?
1. Agrega un campo calculado (CalculatedField) llamado Total y en el elevento OnCalcFields del ClientDataSet pones: DONDE AGREGO EL CAMPO: EN ADOQUERY? EN CLIENTDATASET O EN EL DBGRID? 2. Agrega un campo agregado (AggregateField) llamado GranTotal y pones sus propiedades: a. Expression: SUM(costo*cantidad) b. Active: true También te aseguras de poner en True la propiedad AggregatesActive del ClientDataSet. 3. Pones un DBEdit ligado a un datasource que esté ligado al ClientDataSet y en su propiedad DataField pones GranTotal. // Saludos |
Los campos los agregas al ClientDataSet.
// Saludos |
hice todo pero me aparecen todas los campos menos el grantotal.
|
el campo editing clientdataset1.aggregates no me apararece para relacionarlo con el dbedit1. sera que falto algo por hacer?
|
Cita:
|
Cita:
|
Hola
En el IBClientDataSet hay una propiedad que se llama Agregates (la segunda). Si presionas en la casilla de al lado te saldra una pantalla pequeña. Ahí hay dos dibujos, si presionas el primero (izquierda) agregaras uno Te posicionas en el que creaste, en la propiedad AgragateName pones (GranTotal), en expresión pones lo que dijo Roman. Vas nuevamente al IBClientDataSet y en la propiedad AgragatesActive la pones en true. Relacionas el dbedit con el IBClientDataSet y en la propiedad datasource pones grantotal. Creo que va por ahí. Nunca he usado el IBClientDataSet, solo lo revise. Saludos |
Hay tan sólo una 1h de diferencia entre tu post #9 y el #10.
Aquí la gente ayuda en cuanto puede, y quiere. No vengas con prisas ni urgencias. Ten paciencia, y tendrás las respuestas a su debido momento. No por postear cada 1h más te van a ayudar más... todo lo contrario: denotas más tu desesperación y menos ganas vamos a tener. Uno de los puntos de la guía de estilo es pedir las cosas sin urgencias, respétala. Saludos, |
Cita:
|
Hola
Pon el campo total, hara lo mismo. Saludos |
Numero de ítem en dbgrid
Hola foro, estoy trabajando con un dbgrid atado a un datasource, luego a un dataset, luego a un dataset ro idee y finalmente a un adoquery. Quiero que cuando se agrega una fina nueva en el dbgrid en la columna ítem me refrene el numero de ítem ejemplo: 01'02'03 etc, alguien me puede indicar como hacerlo?
|
No se a que te refieres con el número de item, pero hay una propiedad DBGrid1.DataSource.DataSet.RecNo que te devuelve el número de registro y es automático y correlativo, pero esto es virtual y no te servirá de punto de referencia, si sólo quieres que se vea un número el RecNo te lo da.
Un saludo. |
Ok si pudiera probar es eso lo que necesito, pero donde le coloco esta propiedad?
|
Por favor, cuando no entiendas las soluciones que te dan, no abras otro hilo para ello, simplemente explica que no lo entiendes.
Gracias por tu colaboración. He unido ambos hilos porque es lo mismo. |
Cita:
Solo me muestra el numero del registro donde estoy ubicado pero al pasar a un registro nuevo me lo borra, es decir no se guarda en la columna ítem, sin embargo la secuencia la sigue perfecta. El otro problema es que solo me inicia a contar desde el segundo registro en el primero no me coloca nada. |
Hola
Saludos |
Caral, no entiendo lo del querytemp cual serria para mis el querytemp? Y en donde coló esta sentencia?
|
Hola
Un query nuevo, otro query mas que normalmente yo uso para varias cosas, por eso lo llamo temporal. Simplemente esta enlazado a la BD y se le asigna la labor que se quiera. El codigo lo pones en el evento oncellclick del dbgrid. Saludos |
Me da un error de access violation al hacer click en el grid, lo coloque en el evento dbgrid1cellclick.
|
Hola
No se que estas haciendo, lógicamente. Me da la impresión, a ojo, que lo tendrías que hacer en el evento o procedimiento que crea una nueva linea al dbgrid, que es cuando necesitas que se cree un nuevo numero para el item. Saludos |
Hola gianfranco_tont
En tu SQL al principo pon un campo como el siguiente y después te diré para que es: Después en el DrawColumnCell del DBGrid tienes que poner esto: Espero haberte orientado. Un saludo. |
Hola gianfranco_tont.
En referencia a tu primer consulta: Cita:
Luego en el evento OnCalcFields del TClientDataSet: Ese código dá exáctamente el resultado que solicitas. Lógicamente es necesario que la propiedad DataSource del TDBGrid haga referencia al TDataSource que apunta al TClientDataSet. Saludos. |
| La franja horaria es GMT +2. Ahora son las 05:40:57. |
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