Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Congelar una Columna del DBGrid.

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Congelar una Columna del DBGrid. Responder citando

bueno, esa es mi pregunta, tengo un DBGrid, con 13 columnas, ahora
quisiera saber si existe, algun codigo para congelar la primera, y navegar entre las otras 12, sin que se mueva la primera, columna, algo asi como lo hace excel al congelar los titulos y columnas...



gracias... ahora si me super ayudarian mucho...


saludos.. espero sus respuestas...
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hay unas propiedades derivadas de TCustomGrid que son FixedCols y FixedRows que, al menos en TStringGrid, si funcionan, pero me temo que en DBGrid no.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

si de casualidad pudieras mostrarme el codigo para saber si me cambio a un StringGrid o DrawGrid, parece que las dos lo tienen...


Gracias Angel..

Saludos...
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Bien, no se pude congelar, la columna dentro del DBGrid, la propiedad, de las anteriores, es no esta disponible..
pero solucione utlizando dos dbgrids, en un pongo el numero de habitaciones, y en la otra pongo los meses, los dos dbgrids, se conectan a al misma base, asi, cuando me muevo en uno, se mueve tambien en el otro...


bye
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

A modo de curiosidad, prueba a hacer esto en el constructor del Form por ejemplo:

Código:
class TMiGrid : public TDBGrid
{
  public:
    void __fastcall ColumnasFijas (int num)
    {
      FixedCols = num;
    }
};

((TMiGrid*) DBGrid1)->ColumnasFijas(3);


Funciona, siempre y cuando la propiedad dgColumnResize del Options del TDBGrid sea false. Es decir, que no se puedan redimensionar las columnas. No se pintan bien los títulos de las columnas fijas, pero se podría mejorar usando el evento OnDrawColumnCell. Aun así me parece mejor la solución que has adoptado tú.

Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Gracias por la respuesta, ahora, un detalle como puedo indicar una columna de inicio, por ejemplo
la funcion Date(), te regresa el numero del Mes cuando del Pones
Código:

Word A,M,D;
DecodeDate(Date(), A,M,D),


devolviendote
A=2004
M=2
D=24
bueno el chiste es que se pudiera indicar la columna a mostrar dependiendo del Mes en que Estas..

bye Saludos..
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Si te he entendido bien, tienes 12 columnas en un TDBGrid y quieres mostrar sólo la que corresponda al mes en el que estamos. Si es así, puedes usar la propiedad Visible del TColumn:

Código:
//ocultamos todas las columnas
for (int mes = 0; mes < 12; mes++)
  DBGrid1->Columns->Items[mes]->Visible = false;

//mostramos sólo la columna del mes en curso
Word A,M,D;
DecodeDate(Date(), A,M,D);
DBGrid1->Columns->Items[M]->Visible = true;


Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.