Re: Tabulacion en ireport

Calabaza <[email protected]>
Newsgroups gmane.comp.java.javaspain
Message-ID <[email protected]>
El día 24 de abril de 2009 16:25, esmeralda987
<esmeralda987-/[email protected]> escribió:
> Hola, tengo la siguiente duda haber si me pueden ayudar.
> Se puede hacer en ireport una "estructura de arbol"
> automaticamente? (sin tener que poner difentes field
> con distinta identacion).

No se...

> Por ejemplo

> Node 1
> ---Node 1.1
> ---Node 1.2
> Node 2
> Node 3
> ---Node 3.1
> ------Node 3.1.1
> ------Node 3.1.2
> ---Node 3.2

> Lo unico que se me ocurre es poner varios field
> pero no se en realidad cuantos niveles puedo llegar a tener
> y esa solucion no me sirve.
> Yo recibo una variable que indica el nivel al que debe
> estar ese registro,
> por ejemplo: nivel = 1, nivel = 2, etc..

> Alguien sabe como hacer esto?
Yo lo haría con sql de esta forma:

Primero mi motor de BD es:
PostgreSQL 8.3.7 on i486-pc-linux-gnu,
compiled by GCC gcc-4.3.real (Debian 4.3.3-5) 4.3.3

Luego este es el script de prueba que hice:
CREATE TABLE prueba
(
  id serial NOT NULL,
  texto character varying(50),
  nivel integer,
  CONSTRAINT prueba_pkey PRIMARY KEY (id)
)
WITH (OIDS=FALSE);
ALTER TABLE prueba OWNER TO calabaza;

Estos son los datos que tiene cargado:
Select * from prueba;
2;"nodo 2";1
1;"nodo 1";1
3;"nodo 3";1
4;"nodo 1.1";2
5;"nodo 1.2";2
6;"nodo 3.1";2
7;"nodo 3.2";2
8;"nodo 3.1.1";3
9;"nodo 3.1.2";3

Y este select puedes usar para tu reporte:
SELECT
	id, 	
	repeat('    '::text, nivel)||''||texto as texto_identado,
	nivel
  FROM prueba
  order by texto;

Y para que salga bien, en tu reporte
debes usar una fuente de ancho fijo.

> Muchas gracias, Esmeralda

Por nada.

Exitos.
-- 
§~^Calabaza^~§ from Villa Elisa, Paraguay
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.