Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 06-12-2009
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 835
Poder: 24
gatosoft Va camino a la fama
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.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 09:20:04.


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
Copyright 1996-2007 Club Delphi