Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
CRYSTAL REPORT - COLONNE E RIGHE DINAMICHE
lunedì 20 febbraio 2006 - 18.10
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
lun 20 feb 2006 - 18:10
SALVE MI trovo a sviluppare un rerport con vb e crystal XI in cui ho
una struttura dinamica sia delle colonne che delle righe in più ho dei dati che non possono essere direttamente pescati dal db
ma devono essere elaborati via codice.
quindi la situazione questa
ho le colonne dimamiche per ogni colonne dovrei avere altre n (4 sotto colonne)
e per ognuna di queste una riga
graficamente una cosa del genere
x--|---c1----|----c2----|----cn----|
x--|c1a-c2b||c1a-c2b||c1a-c2b|
r1-|xxxxxxxxxxxxxxxxxxxxxxxx|
r2-|xxxxxxxxxxxxxxxxxxxxxxxx|
rn-|xxxxxxxxxxxxxxxxxxxxxxxx|
mi serve una mano per capire come gestire questa situazione dimamicamente
grazie ciao
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 20 feb 2006 - 22:36
ciao,
per risolvere problemi di questo genere crystal mette a disposizione 1 oggetto chesi chiama "cross-tab" (it: campi incrocciati) dove graficamente vai ad aggingere le colonne e le righe ed entrambe possono variare.
Ad esempio se hai utenti,spese,clienti come colonne di 1a datatable, puoi mettere utenti come colonna e clienti come righe, poi metti il campo spese come campo da valutare e lui a forma matriciale ti fa gli intrecci...
Inoltre (esattamente come vuoi fare tu) puoi mettere dei campi che ti funzionino da sottocolonne, facendo cosi' 1a sorta di "raggruppamento" , basta aggiungere all'insieme colonne e ci pensa lui...
con questo strumento, è l'unico modo che hai di avere colonne dinamiche, altrimenti lavori con i raggruppamenti etc e definisci il solito template e poi nella zona dettagli metti i valori che vuoi e quindi si comporta come il classico che non è quello che ti interessa ovviamente...
Prova a darci 1occhiata...ciao
ps:non ho ancora usato a fondo la versione XI ma ho visto che questi oggetti rimangono,vista anche la loro importanza ;-) ed anche con l'aggiunta di altre funzionalita'...
Matteo Raumer
MCAD.net - net addicted :-)
http://blogs.dotnethell.it/freeteo
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
lun 20 feb 2006 - 23:22
io sto cercando di usare quell'oggetto
ma non capisco come fare via codice e neanche design time ci sono riuscito
ti pasto un pò di codice:
Set CRXSection = CRXReport.Sections.Item("RH")
Set CRXCrossTab = CRXSection.ReportObjects(1)
CRXCrossTab.BorderColor = RGB(255, 0, 0)
CRXCrossTab.HasDropShadow = True
With CRXCrossTab
'Here we add the fields for the Xtab. In this case
'we specify the fields by their database field index.
.ColumnGroups.Add CRXReport.Database.Tables(2).Fields(2)
Set oTabGroup = .ColumnGroups(1)
oTabGroup.EnableSuppressSubtotal = True
.ColumnGroups.Add CRXReport.Database.Tables(2).Fields(3)
.ColumnGroups.Add CRXReport.Database.Tables(2).Fields(3)
.ColumnGroups.Add CRXReport.Database.Tables(2).Fields(3)
.RowGroups.Add CRXReport.Database.Tables(2).Fields(1)
'.SummaryFields.Add CRXReport.Database.Tables(1).Fields(3)
End With
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 21 feb 2006 - 00:19
ciao,
sinceramente non mi sono mai avventurato a modificare a customizzare la crosstab via codice, piuttosto mi sono sempre affidato a campi formula nel caso ne avessi bisogno
Ad ogni modo via editor di Crystal puoi impostare 1po di proprieta' formattando la crosstab e specificandogli 1po di raggruppamenti come ti dicevo prima:
788x503
17Kb
i cerchi indicao come facendo il drag&drop dei campi del database come riga o colonna puoi giorcare con i raggruppamenti...
è questa cosa che ti manca ho hai bisogno d'altro ? siamo sempre qui...
ciao
Matteo Raumer
MCAD.net - net addicted :-)
http://blogs.dotnethell.it/freeteo
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 21 feb 2006 - 00:26
grazie gentilissimo si non è proprio questo quello che mi server
a me serve :
una colonna dinamica e questo lo ottengo traquillamente con quel componente
poi sotto di questa me ne servono altre 4
tipo:
x|colonna
x|-------
x|1234
r|valori per le quattro colonne
io ci sto provando anche dall'editor ma non ho scamo non trvovo soluzione
se non è chiaro rispiego
sono qua :-)
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 21 feb 2006 - 01:03
ho trovato nella cartella di crystal un esempio
questo
/sample/en/reports/feature examples/CrossTab.rpt
che in parte fa quello che vorrei fare io ma non riesco a riprodurlo
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 21 feb 2006 - 01:52
Ok credo di aver trovato il modo di fare quello che voglio Almeno lo spero.
Però c'è un problema ed è questo:
tutti i dati che stanno sull db non possono essere usati direttamente ma devo fare delle pre elaborazioni via codice
ora con una tabella non problem perchè creo un recordset virtuale e gli passo quello con
MReport.Database.SetDataSource rs
etc.
ma con più tabelle ? o meglio come strutturo il mio recordset per gestire una tale situazione ?
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 21 feb 2006 - 10:00
ciao,
se la cosa è possibile (e li devi valutare tu) io ti consiglierei di usare i campi formula cosi' puoi far fare elaborazioni al report e metterli poi nelle "cross-tab", altirmenti alternative non ce ne sono, fai operazioni da codice e poi gli passi di datasource alle tabelle con DataTable che hai elaborato via codice
ciao
Matteo Raumer
MCAD.net - net addicted :-)
http://blogs.dotnethell.it/freeteo
yag2
Profilo
| Newbie
31
messaggi | Data Invio:
mar 21 feb 2006 - 10:05
>ciao,
>se la cosa è possibile (e li devi valutare tu) io ti consiglierei
>di usare i campi formula cosi' puoi far fare elaborazioni al
fin qui ci sono ma mi sto perdendendo ne senso che non riesco a capire che elavorazioni fare
>report e metterli poi nelle "cross-tab", altirmenti alternative
>non ce ne sono, fai operazioni da codice e poi gli passi di datasource
>alle tabelle con DataTable che hai elaborato via codice
>
qua mi sono perso come faccio a passarli le tabelle con datatable ?
anche la mia idea era di usare le formule ma mi sto perdendo io ho visto in quel file che lui usa tabelle differenti e riesce a legarle ugualmente nel senso i dati nell cross-tab vengono mostrati
se ci provo io con due tabelle di prova non vedo niente almeno che i campi non fanno parte della stessa tabella
sai dirmi come mai ?
misterwolf
Profilo
| Newbie
21
messaggi | Data Invio:
mar 14 mar 2006 - 15:18
se posso aggiungere una richiesta...dovendo mettere per colonne un elenco di record come faccio a dirgli ad esempio nella prima colonna metti il dal primo a decimo record..nella seconda dall'undicesimo al 20°..etc.??
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !