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 - Visualizzazione Dettagli
giovedì 20 ottobre 2005 - 10.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
gio 20 ott 2005 - 10:26
Buon Giorno a tutti,
ho creato un report con Crystal report fornito con VS.NET 2003.
La mia applicazione VB crea una form in cui mediante un button seleziono il report da visualizzare.
Quando il report viene visualizzato nella form, i dettagli vengono visualizzati in una pagina diversa dal resto del report.
Come posso fare a visualizzare tutto il report in un unica pagina; come è possibile impostare il salto pagina.
Ringrazio anticipatamente tutti coloro che potranno darmi un aiuto.
Grazie.
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
gio 20 ott 2005 - 10:58
Ciao.
Nella parte sinistra della maschera di design del report dovresTi vedere alcune info che riguardano le Sections disponibili (avrai uno o più Headers, gruppi e dettagli).
Con il tasto destro del mouse accedi ad un menu contestuale e selezioni "Format Section..."
A questo punto, per ogni section verifichi che il check box "New Page Before" non sia selezionato... Nel caso in cui lo sia, hai trovato il motivo per cui Ti fa un salto pagina PRIMA della stampa della sezione....
Ciao - Fabio
Fabio G
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
gio 20 ott 2005 - 11:34
Grazie dell'aiuto.
Ho verificato il mio report è l'opzione che mi hai segnalato non è abilitata.
Può essere che venga abilitata quando lancio l'applicazione.
Mi potresti dire quali opzioni devo settare e quali formule relative usare per le seguenti sezioni:
Intestazione Report (Section 1)
Intestazione Pagina (Section 2)
Dettagli (Section3)
Piè di pagina report §(Section 4)
Piè di pagina (Section 5)
Grazie.
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 20 ott 2005 - 12:47
Ma te utilizzi il controllo crystalreportviewer per visualizzare l'anteprima dei report?
Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
gio 20 ott 2005 - 13:37
Per visualizzare il report utilizzo il seguente codice:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Inherits System.Windows.Forms.Form
Dim myReport As Report
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
ConfigureCrystalReports()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents myCrystalReportViewer As CrystalDecisions.Windows.Forms.CrystalReportViewer
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.myCrystalReportViewer = New CrystalDecisions.Windows.Forms.CrystalReportViewer
Me.SuspendLayout()
'
'myCrystalReportViewer
'
Me.myCrystalReportViewer.ActiveViewIndex = -1
Me.myCrystalReportViewer.Dock = System.Windows.Forms.DockStyle.Fill
Me.myCrystalReportViewer.Location = New System.Drawing.Point(0, 0)
Me.myCrystalReportViewer.Name = "myCrystalReportViewer"
Me.myCrystalReportViewer.ReportSource = Nothing
Me.myCrystalReportViewer.Size = New System.Drawing.Size(616, 366)
Me.myCrystalReportViewer.TabIndex = 0
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(616, 366)
Me.Controls.Add(Me.myCrystalReportViewer)
Me.Name = "Visualizzazione Report"
Me.Text = "Visualizzazione Report"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub ConfigureCrystalReports()
myReport = New Report
myCrystalReportViewer.ReportSource = Environment.CurrentDirectory & "\ReportFattura_" & SerieDescription & "_" & DocNum & ".rpt"
End Sub
End Class
Spero mi possa aiutare.
Grazie.
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
gio 20 ott 2005 - 13:48
I check hanno significati abbastanza esplicativi : pagine nuove prima/dopo la sezione, Sopprimi/Nascondi (magari in base a formule), etc...
Forse, unaltra opzione che potresTi verificare, è il check "Keep Together" : se lo selezioni, Crystal cerca di stampare tutta la sezione nella stessa pagina... Ma se non ci riesce, allora la inizia in una nuova pagina. Se deduco correttamente la tipologia di stampa dall'esempio che hai postato, posso immaginare che le righe della fattura siano "Keep Together"...
Ciao - Fabio
Fabio G
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
gio 20 ott 2005 - 15:22
Ho eliminato da tutti gli oggetti presenti nel mio report l'opzione Mantieni uniti gli oggetti, e non ho selezionato alcuna proprietà per le sezioni.
Nella prima pagina del report ho:
Intestazione Report
Intestazione Pagina
Piè di pagina
Nella pagina 2 del report ho:
Intestazione pagina
dettagli
Piè di pagina report
Nella sezione dettagli (seconda pagina) vengono visualizzati correttamente tutti i record estrapolati da una tabella del mio database (MySQL)
Non riesco a capire cosa stà succedendo???
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
gio 20 ott 2005 - 15:52
Scusa, ma mi sfugge il concetti di "Pagina" in Crystal.
Hai forse inserito un SubReport ? Ovvero : se lo stai progettando in Dot.Net, hai due tab nella parte inferiore della finestra di Crystal ?
Se così fosse dovresTi andare sul primo report (che contiene il/i subreport(s)), identificare nella finestra di design il frame che contiene il subreport, fare click col tasto destro, selezionare formato e togliere anche da li il check "Keep Object Together".
In linea di massima, però, sappi che non è mai una buona cosa quella di utilizzare i SubReports, in quanto appesantiscono notevolmente l'elaborazione. Tipicamente, è sempre meglio lavorare con un solo report (ove possibile), che sfrutta i gruppi di Crystal per agregare i dati...
Spero di aver centrato il problema
Ciao - Fabio
Fabio G
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
gio 20 ott 2005 - 16:02
Il mio report è formato da campi testo, campi formula e da una l'estrazione dati da un tabella de db che avviene grazie all'impostazione di una selectionformula.
Nell'intestazione di pagina ci sono solo campi testo e campi formula che vengono visualizzati nella prima e seconda pagina del report
Nella sezione dettagli ci dovrebbero essere le righe estratte
Invece la prima riga viene visualizzata nella prima pagina, mentre le altre nella seconda pagina.
Mentre la sezione Piè di pagina report viene visualizzata nella seconda pagina.
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
gio 20 ott 2005 - 17:28
Grazie a tutti per l'aiuto.
Dopo una serie di prove sono riuscito a sistemare il mio report.
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
gio 20 ott 2005 - 17:30
Beh, a questo punto, però, mi hai un po' incuriosito.... Cosa non andava ?
Fabio G
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 21 ott 2005 - 00:57
ciao,
a occhio sembra che la tua sezione sia troppo lunga per starci nella prima pagina ma questo è perche probabilmente è impostato il flag di "mantieni unita" della sezione o dell'oggetto.
Questa cosa ogni tanto "sporca" il report con questi effetti, sopratutto se usi oggetti come subreport o campi memo o altro che si allunga troppo...
Percui controlla questo flag sugli oggetti e sulla sezione e togliendolo 2o me dovrebbe funzionare come ti immagini.
ps: a meno che no nabbia impostato il flag di "nuova pagina dopo" ma penso tu abbia gia controllato...
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
ven 21 ott 2005 - 14:48
Il problema precedente l'ho risdolto eliminano un po di opzioni mantieni unite. Questo causava lo sforamento in altre pagine.
Nella sezione dettagli visualizzo le righe estratte dalla tabella del mio db.
Esiste un modo per dirgli di stampare n righe per pagina???
Grazie.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
ven 21 ott 2005 - 15:29
ciao
puoi mettere 1a formula nel flag "nuova pagina dopo" della sezione dettagli:
recordnumber mod 12 = 0
cosi facendo quando il numero di record è multiplo di 12 cambia pagina.
ovviamente 12 è 1 numero di esempio....
ciao
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
ven 21 ott 2005 - 15:41
Questo è ok, ma esiste un problema...
Se esistono dei campi che possono "crescere" (Can Grow), il fatto di "fissare" il numero di record per pagina può essere deleterio, in quanto rischi di stamparne 11 (a causa di una crescita inaspettata), saltare la pagina, stamparne 1 e risaltare la pagina...
La cosa migliore è lasciar fare all'automatismo di Crystal che, in base alla dimensione dell'header di pagina e a quella del trailer di pagina, imposta la domensione dell'area di dettaglio (gruppi compresi).
Se vuoi comunque seguire la strada da freeteo, ricordati di eliminare tutti i "Can Grow" sui campidel dettaglio, altrimenti rischi di "sballare".
Ciò che Ti consiglio di fare, è rivedere il Tuo concetto di "stampare 12 righe per pagina", convertendolo in "stampare al massimo 12 righe per pagina"... Adattando la formula di freeteo, potresTi forzare un salto pagina PRIMA della stampa della 13a riga della pagina... Questo Ti assicura che nella pagina non vengano stampate più di 12 righe...
Ciao - Fabio
Fabio G
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
mar 25 ott 2005 - 09:30
Grazie dell'aiuto , anche questo problema è stato risolto.
Ho creato un dataset nel mio progetto VB.NET però quando cerco di aggiungerlo al report, non viene visto dal Database Expert.
Cosa stà succedendo???
Grazie.
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
mar 25 ott 2005 - 12:51
Non ho ancora esperienza nell'utilizzo di Crystal in ambiente .Net.
Però, non credo sia possibile "passare" a Crystal un DataSet...
Per quanto ne so io, Crystal apre una sua connessione (e transazione) autonoma, sfruttando il suo motore, e "leggendo" il database con drivers ODBC (piuttosto che con OLEDB)...
La sola cosa che mi viene in mente è quella di scrivere il dataset su una tabella temporanea (non nel senso stretto del termine, se parliamo di Oracle, altrimenti le altre sessioni non la vedrebbero...), in modo che Crystal possa attingere da essa...
Vorrei ulteriori conferme, in questo caso : magari sto scrivendo una fesseria, e Crystal riesce effettivamente ad interagire con un dataset di .Net...
Ciao - Fabio
Fabio G
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mar 25 ott 2005 - 13:07
Come no è possibile passare unn dataset vi acodice a crystal.net io l'ho fatto...
Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
mar 25 ott 2005 - 13:10
Non si finisce mai di imparare... Effettivamente, la parte di interazione .Net/Crystal devo ancora iniziare a guardarla...
Cmq, buono a sapersi !
Ciao - fg
Fabio G
PIPPAZZO
Profilo
| Newbie
32
messaggi | Data Invio:
mar 25 ott 2005 - 16:59
Ho creato un report inserendo una tabella appartenente ad un db. E' possibile modificare il nome del db in run time, visto che nella mia applicazione il nome della tabella è fisso mentre cambia il nome del DB per l'appunto.
Grazie.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 26 ott 2005 - 01:16
ciao,
devi lavorare con le logoinfo cosicche' cambi i dati che il report carica...
da 1occhiata qui:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=603
http://www.dotnethell.it/forum/messages.aspx?ThreadID=198
e anche altri messaggi prova a spulciare 1po il forum..
cmq se usi le logoninfo puoi cambiare il percorso del db e quindi la tabella.
Pero' deve avere la struttura uguale a quiella con cui hai costruito il report altrimenti lui non trrova i campi ti da erroreo non visualizza nessun dato.Purtroppo se intedi quet'ultima cosa non si puo' fare...dovresti lavorare con la query sql che ti dia la stessa struttura mappando i campi del tipo:
select campo22 as data,campo23 as ora etc.... insomma 1po 1a noia :-)
Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
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 !