FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DBGrid + Columna (Icógnita)
Estimados, en detalle explicaré lo que quiero lograr en el fondo, pero la questión es si puedo saber en un DBGrid cual es la 1era, 2da, 3era, etc... columna que se muestra en pantalla, suponiendo que la cantidad de columnas sobrepasa el ancho de la grilla ???
Necesito ayuda en cómo saber qué nombre de campo de base de dato tiene una columna. (DBGrid1.Columns[X].FieldName).. Esto está claro como el agua. Lo trágico es que a partir de un Query, genero columnas variables (Funcion crosstab) y muestro los campos que salen y lo que quisiera lograr al final es poder mostrar los totales de cada columna en un DBText. Al principio cuando se carga la aplicación no hay problema ya que sé que voy a partir de la primera columna hacia adelante linkeando el datafield a cada DBtext. Pero después cuando el usuario se va moviendo hacia al lado de la grilla y muestre los campos que vienen, desearía actualizar el total de los DBText correspondientes a cada columna que se muestra... Por último, mis disculpas por tanta palabrería. |
#2
|
||||
|
||||
Disculpa no comprendo muy bien lo que pretendes hacer..
¿Quieres sumar una columna del dbGrid y poner el resultado en algun control(Componente)?. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#3
|
||||
|
||||
hola ozrics, Tu inquietud no es muy clara...
pero hasta donde puedo entender: 1) Haces una consulta de, por ejemplo 100 campos (columnas)... 2) En una DBgrid muestras solo 5 columnas 3) Para cada coumna visible hay (abajo) un componente DbEdit (??? o Edit) donde muestras la suma de cada una... 4) cuando te mueves por la grilla hacia los lados... las cinco columnas cambian y por tanto las 5 sumas (en los edits) deben variar... Bueno, si es asi, tendrias que tener un control sobre alguna columna de referencia, es decir... saber el numero de la primera columna visible en el lado izquierdo... pues no conozco una funcion del dbgrid que haga esto, Asi que te voy a proponer una solucion "manual" para hacerlo, y me perdonan los expertos del foro si existe algo mas facil... 1) define un tamaño unico para todas las columnas... Es clave, pues asi sabes que en cada momento hay siempre 5 columnas visibles y no 4 o 6. 2) Define una variable que te indique cual es la primera columna visible de la izquierda.. intPrimeraCoulmnaVisible: Integer; Esta variable, al inicio vale 1,pues se supone que al ejecutar el query se abre con la primera columna visible... 3) Cuando te muevessobre la grilla de hacia los lados, se activa el llamado al evento OnColEnter, asi que debes programar este evento utilizando la propiedad SelectedIndex del DbGrid...la cual te retorna el numero de la columna activa... 4) Si la columna activa es mayor en 5 posiciones a la variable intPrimeraCoulmnaVisible entonces quiere decir que nos movimos hacia la derecha y la intPrimeraCoulmnaVisible aumenta en uno... 5) Si la columna activa es menor en 1 posicion a la variable intPrimeraCoulmnaVisible entonces quiere decir que nos movimos hacia la izquierda y la intPrimeraCoulmnaVisible disminuye en uno.. para los dos casos anteriores (4 y 5) debes llamar una procedimiento que calcule los 5 edits que tienes para los totales.. espero haberte ayudado, un saludo. |
#4
|
|||
|
|||
... Si, es eso lo que quiero lograr - Mostar los totales en en un DBEdit para cada columna visible de un DBgrid y que al momento que me desplace por la grilla a través del scroll horizontal, se vayan actualizando los totales según corresponda a la columna.
Voy a probar la idea en el evento onColEnter que propone gatoSoft. Gracias, y comento como me fue. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hacer que una columna de un DbGrid aparezca distinta según valor | Aprendiendo | OOP | 11 | 30-11-2018 14:47:20 |
Poner una columna de un DBGrid como columna Fija | rgstuamigo | OOP | 4 | 04-03-2009 21:54:38 |
Suma de una columna de un DBGRID | Pollo2004 | Varios | 20 | 29-10-2008 16:58:33 |
Nombre de columna en dbgrid | joanajj | Varios | 4 | 30-07-2006 00:34:42 |
blockear columna de dbgrid, | Renees | Varios | 2 | 17-06-2006 16:00:14 |
|