Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 19
gontxalo Va por buen camino
Que componentes tengo que utilizar para hacer esto:

Hola.
En un Form, quiero poner en una parte algo igual al explorador de windows. Me explico. Cuando abrimos el explorador de windows tenemos a la parte de la derecha, un encabezamiento, (nombre, tamaño, tipo). Este encabezamiento o títulos si pinchamos con el ratón ordena el contenido de abajo. Y si pinchamos en el contenido pues que pueda abrir otro formulario.

Yo lo tengo hecho con DBGrid, pero no se si en este componente puedo poner lo de pinchar en el encabezamiento y que se ordene el contenido de abajo. Tampoco se quitar las líneas de separación verticales (pero sólo las del contenido manteniendo las de los títulos).

Puede que la barra de títulos y el contenido de abajo se haga con otros componentes para conseguir esto?

Gracias
Responder Con Cita
  #2  
Antiguo 11-07-2005
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Hola

Puedes usar el TListView Paleta win32, pero también puedes usar el mismo DBGrid, aunque yo recomendaría si vas a usar DBGrid que uses el de las RX que es más avanzado y da más posibilidades para lo de el clic en el encabezado, dibujar dirección de ordenamiento etc, en fin hay varios componentes que puedes usar selecciona uno y cuando tengas dudas más concretas cuenta con nosotros.


Saludos
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #3  
Antiguo 11-07-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 19
gontxalo Va por buen camino
Hola
Entiendo que un ListView puede valer. Pero sería para el contenido, no?, pero y la barra de títulos?.
Esto si no se usa DBGrid.
En DBGrid voy a mirar el rx que me dices.

Lo que quiero es tener una barra de títulos con varias columnas y que ordene a su contenido si pinchas en cada columna. Luego en el contenido de abajo tener varias filas. Esas filas estarían conectada a base de datos porque su contenido variaría según los usuarios conectados. Por lo que creo que tendrá que ser con DBGrid.
Por ejemplo que una de las columnas de la barra de título se llama usuarios y abajo el contenido pues varía según los usuarios conectados. 1 --4---9. Y así varias columnas, y el usuario pincha en la fila que quiere acceder para que se le abra el form correspondiente. ejemplo:

Títulos: nombre porcentaje usuarios
filas: blanca 22% 5
gonto 33% 11
segovia 19% 6

Si pinchas en porcentaje, las 3 filas se ordenan por porcentaje, si pinchas en usuarios o nombre pues igual, que se pueda pinchar en la fila para acceder al formulario correspondiente, y que los datos de las filas se actualicen según porcentaje o usuarios conectados.

Esto sería con DBGrid o no ?

Gracias
Responder Con Cita
  #4  
Antiguo 11-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Los componentes DevExpress tienen un DBGrid (ExpressQuantumGrid) que hace justamente eso que estas pidiendo, además de hacer sumas, contar, min, max, avg, agrupar, ordenar, buscar, etc, etc...
__________________


Última edición por ContraVeneno fecha: 11-07-2005 a las 18:22:34.
Responder Con Cita
  #5  
Antiguo 11-07-2005
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Lo dicho

Revisa el DBGrid de las RX que te recomendé, creo que es la mejor opción, puesto que tiene definido el evento OnTitleBtnClick que es precisamente cuando el usuario da clic en un encabezado, aquí puedes hacer los ordenamientos según convenga, recordarte que el ordenamiento no lo haces en el DBGrid sino en la tabla asociada(objeto TDataset).
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #6  
Antiguo 11-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Con el QuamtumGrid no requieres codificar los clicks en el encabezado, ya que el orenamiento lo hace de manera automática dependiendo en que columna des click. No requiere codificar nada para hacer agrupaciones. En fin, puedes probar los dos componentes, RX o DevEpxress pero estoy seguro que el DevExpress es l amejor opción ya que solo tienes que cargar el Dataset y todo lo demás es automático.
__________________

Responder Con Cita
  #7  
Antiguo 11-07-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
creo, me parece, lo pregunto aquí: ¿el dbgrid de devexpress trae TODOS los registros a memoria y por eso puedes ordenarlos por cualquier campo en cualquier momento?, si es así, me parece bastante ineficaz para trabajos en modo cliente/servidor. Y para trabajos en red igualmente mal. Y para trabajar por internet... peor todavía.
Responder Con Cita
  #8  
Antiguo 11-07-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Si, si lo carga en la memoría para poder realizar esas operaciones.
No lo he probado para trabajar en internet, pero en una LAN me ha funcionado perfecto. Claro esta que el rendimiento dependerá de la red/servidor/conexión/volumen. pero al menos a mi no me ha dado problemas y me ha ahorrado bastante trabajo.
__________________

Responder Con Cita
  #9  
Antiguo 11-07-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 19
gontxalo Va por buen camino
DBGrid delphi 2005

Hola
Voy a probar.
El rx me descarga mal, me dice que no es un archivo válido y que descargue otra vez. Lo probaré mañana.
El Quantumgrid si no funciona bien cliente servidor lo dejo porque basicamente es eso lo que necesito.
Si se puede conseguir en el evento ontitleclick del DBGrid de delphi 2005 sería suficiente, pero que tendría que poner en el code para que ordene la columna?
procedure TForm1.DBGrid2TitleClick(Column: TColumn);
begin
?????
end;

Se puede en el DBGrid de delphi 2005, quitar las líneas de separación de columnas, pero sólo en las celdas de abajo no las de los títulos?

Lo he probado en opciones dgcollines false, pero quita todas las líneas, las de los títulos y las de las celdas de abajo.
Quiero que la parte de abajo de las celdas aunque tengan datos en cada columna, que cada línea sea una sola celda. Se puede hacer?
Responder Con Cita
  #10  
Antiguo 11-07-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 19
gontxalo Va por buen camino
El evento ontitleclick valdría para cada columna del DBGrid?

Perdonar otra pregunta.
Si el evento ontitleclick, es del DBGrid. Como se puede poner a cada columna de DBGrid el evento para que ordene su columna?

procedure TForm1.DBGrid2TitleClick(Column: TColumn);
begin
?????
end;
Responder Con Cita
  #11  
Antiguo 12-07-2005
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Hola de nuevo

Adjunto te envío un ejemplo que construyó un antiguo miembro de estos foros muy honorable por cierto, se trata del compañero Cadetill, está basado en el dbgrid de las RX. Si lograste bajar el componente échale una mirada.

Es válido aclarar que el ejemplo está diseñado para mostrar las ventajas de este componente, nótese que no ordena los datos, para hacer que ordene basta con agregar un par de líneas de código llamando a los métodos apropiados del Dataset asociado.



Saludos
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo


Última edición por yusnerqui fecha: 04-12-2007 a las 20:44:38.
Responder Con Cita
  #12  
Antiguo 12-07-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Bueno, de hecho cargar en memoria es como toca en cliente/servidor 3 niveles...

Por otro lado, por defecto tiene ese comportamiento pero se puede hacer una carga por tandas de registros, por codigo, etc...

En esencia, si el Grid de DevExpress no hace lo que deseas, no lo hace nadie...

Aunque en tu caso, supongo que seria mejor el http://www.delphi-gems.com/VirtualTreeview/VT.php mas que nada porque es mas natural por ser en forma de arbol...

Pero el grid de devexpress da la talla y estoy casi seguro viene con un ejemplo de lo que buscas.
__________________
El malabarista.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 01:28:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi