Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2011
nextor nextor is offline
Miembro
 
Registrado: abr 2010
Posts: 31
Poder: 0
nextor Va por buen camino
cxGrid multinivel

buen dia amigos del foro

pues aqui molestando con preguntas, el tema es este: estoy utilizando la suite devexpress 5.2, especificamente el cxGrid y necesito hacer por ejemplo un grid con varios niveles algo como tener una tabla de paises, una de estados y una de zonas.

para esto he creado los tres datasets(ttable), tres datasources, un cxgrid con tres niveles y sus respectivas views, he linkeado cada view del cxgrid a su respectivo datasource. hasta aqui todo bien, al compilar aparencen todos los paises, pero al expander un pais para que muestre todos sus estados, si los muestra, el problema se da que cuando expando otro pais, no se muestra nada o se muestra parcialmente.

alguien tiene idea de que es lo que pasa, o mejor aun alguien tendra un ejemplillo con por lo menos dos niveles?

Agradesco su ayuda y el tiempo que utilizaron para leer esto
pd: y por si acaso estoy utilizando delphi 7 y el bdexpress
Responder Con Cita
  #2  
Antiguo 18-05-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo que no entiendo es porqué utilizar tres DataSources.

¿Has probado ha generar una consulta con todos los datos (relaionando las tablas con JOIN)?
Un vez generada toda la consulta, puedes generar los grupos directamente sobre el Grid.

Tal vez no te estoy entendiendo...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 18-05-2011
nextor nextor is offline
Miembro
 
Registrado: abr 2010
Posts: 31
Poder: 0
nextor Va por buen camino
Gracias por responder, tengo 3 DataSources por que el cxGrid tiene la propiedad dataSource, entonces en cada nivel he colocado el DataSource correspondiente adicional a esto posee las propiedades DetailKeyFieldName,keyFieldName y MasterKeyFieldName en las cuales se supone se puede hacer el join, y funciona pero solo al expandir un nivel, es decir se muestran todos los paises y puedo expandir cualquiera de ellos, por ejemplo si expando españa se muestran todos sus estados pero si expando USA ya no se muestra nada, no se si sera mejor que suba a algun host el exe y la fuente para que sea mas grafico?

Gracias por tu interes y tu respuesta
Responder Con Cita
  #4  
Antiguo 18-05-2011
nextor nextor is offline
Miembro
 
Registrado: abr 2010
Posts: 31
Poder: 0
nextor Va por buen camino
Hola de nuevo, pues aqui pongo el link de la fuente en delphi 7.

<a href="http://www.mediafire.com/?ysr2g7p2797dacx
">http://www.mediafire.com/?ysr2g7p2797dacx</a>

explico como esta distribuido el directorio

1.-paises.sql contiene la creacion de las tablas y la inserccion
datos (MSSQL Server)

2.-Unit1.pas codigo fuente del proyecto

3.-Project1.dpr el proyecto

4.-Unit1.dfm la definicion del form

5.-configuracion.ini archivo de configuracion para la
conexion del exe a MSSQL Server

6-1.JPG, es una imagen en la que se puede ver como se muestra
el grid al abrir la ventana

7-2.JPG, aqui se puede ver cuando se expande un pais

8-3.JPG y 4.JPG, se puede ver el problema en cuestion

Espero que me puedan ayudar, gracias y buen dia
Responder Con Cita
  #5  
Antiguo 18-05-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola Nextor.

Hay algo importante a considerar en esto de las "vistas cx" (rejillas incrustadas en el componente TcxGrid):

Cuando las vistas son acomodadas en relación maestro-detalle, es importante que los conjuntos de datos que harán de "detalles" estén ordenados por el campo maestro. Por ejemplo, si la propiedad IndexFieldNames del conjunto de datos de estados (provincias / departamentos / comunidades autónomas, el término varía según el país) tiene un valor de 'Nombre' (para que se muestren ordenados alfabéticamente al expandir un país), es necesario que el valor de esa propiedad esté precedido por el nombre del campo usado para establecer la relación. Por ejemplo: 'IDPais;Nombre' (ordenado por país y nombre de estado).

El algoritmo de cxGrid para vistas detalle trabaja de tal forma que cuando ya no encuentra registros que correspondan a un registro maestro, da por hecho que no hay más y continúa con el siguiente registro maestro. Esa puede ser la razón por la cual no se muestran correctamente las filas detalles.

Realiza los cambios que correspondan en el orden de los registros y nos comentas qué tal resultó.

Saludos.

Al González.

Última edición por Al González fecha: 18-05-2011 a las 22:09:13.
Responder Con Cita
  #6  
Antiguo 18-05-2011
nextor nextor is offline
Miembro
 
Registrado: abr 2010
Posts: 31
Poder: 0
nextor Va por buen camino
Excelente Gracias por tu respuesta Al Gonzalez. Efectivamente esa propiedad (IndexFieldNames) era la que estaba afectando. la verdad nunca me ubiera imaginado que era es propiedad.
Quisiera hacerte una ultima preguna ¿Como sabes eso?, es decir hubiera pasado años peleando con ese componente y nunca lo hubiera hecho funcionar

Gracias Hombre, que tengas un buen dia
Responder Con Cita
  #7  
Antiguo 19-05-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Es grato saber que te funcionó mi consejo.

Cita:
Empezado por nextor Ver Mensaje
Gracias por tu respuesta Al Gonzalez.
Daré la mitad de esas gracias a Neftalí, pues él también tuvo la misma intención de ayudarte.

Cita:
Empezado por nextor Ver Mensaje
¿Como sabes eso?
Lo dice la ayuda de Developer Express en el capítulo Master-Detail. Ahí lo leí hace varios años por primera vez, cuando me sucedió algo similar.

Cita:
Empezado por nextor Ver Mensaje
[...] que tengas un buen dia
Gracias, igualmente para ti. De momento me esperan 540 abdominales, pero primero media hora de escaladora y bici.

Un abrazo en la rejilla.

Al González.
Responder Con Cita
  #8  
Antiguo 19-05-2011
nextor nextor is offline
Miembro
 
Registrado: abr 2010
Posts: 31
Poder: 0
nextor Va por buen camino
Thumbs up

de verdad que soy un mal educado, en serio Neftali gracias a ti tambien ya que me has ayudado en varias ocasiones y estas en mi lista de gods del delphi.

Como siempre les agradesco, siempre me han sacado de apuros

suerte en todo
Responder Con Cita
  #9  
Antiguo 19-05-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Al González Ver Mensaje
Daré la mitad de esas gracias a Neftalí, pues él también tuvo la misma intención de ayudarte.
No te preocupes, me doy por "agradecido"...

Ten vez en este caso no entendí bien lo que necesitabas. A lo que yo me refería era a hacerlo utilizando una sólo consulta y un sólo DataSet, y luego aprovechando las funciones de agrupación del cxGrid. Es diaeño algo así (el de la parte de abajo):


Para luego obtener esto ene ejecución utilizando las agrupaciones:



De todas formas, veo que ya está conseguido.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
cxGrid y CDS dfarias OOP 1 08-01-2010 10:12:40
Recorrer un cxGrid elorza Varios 9 05-03-2008 12:02:44
Duda con cxGrid paladincubano Varios 2 07-02-2008 13:14:31
InplaceEditor de cxGrid calogero Varios 2 13-04-2007 01:14:41
Opinion Aplicacion Multinivel Jvilomar Varios 1 25-10-2004 14:20:24


La franja horaria es GMT +2. Ahora son las 07:12:28.


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