Stampa gruppo selezionato (lunghino)

lunedì 10 dicembre 2007 - 12.15

micromina Profilo | Newbie

Buon giorno ragazzi,
sono ancora io alla ricerca di un suggerimento.
Ho creato un report carino, che visualizza le giacenze di vari prodotti, una pagina per prodotti, in cui è possibile navigare dalla toolbar automatica di Crystal oppure dall'albero gerarchico di sinistra che rappresenta i vari gruppi (che poi sono le prime 4 cifre del codice)
La navigazione funziona bene, ossia i prodotti all'apertura sono 200, l'labero mostra tutti i raggruppamenti, che esplosi visualizzano i vari codici. Se uno clicca sopra, si sposta alla pagina. La barra segue bene la selezione, ossia se seleziono il gruppo sulla barra appare ad esempio pag 1 di 7 (se sono sette elementi), mentre se poi seleziono il singolo codice diventa pagina 1 di 1, se poi riaggiorno torna a mostrare 1 di 200.
Il problema allora, direte voi, qual è? che quando schiaccio stampa, e uso il metodo printtoprinter mi stampa 200 pagine sempre e comunque!
io pensavo invece che crystal report riuscisse a gestire (così come gestisce i raggruppamenti e gli spostamenti di pagine) anche la "selezione"dei record ossia se imposto un filtro, dovrebbe riflettere la mia scelta sulla stampa, no?
Ora sto cercando dove inseire il codice per la riselezione, vorrei avere un riferimento ai campi pag. tot di tot della toolbar ma vedo che quell'oggetto non espone quelle proprtità. Forse dovrei ogni volta prendere il parametro selezionato (e come faccio riferimento al gruppo dell'albero?) e poi dovrei passarlo come criterio alla query originaria ...
ho una gran confusione in testa ... mi aiutate un po'? grazie mille

ciao

freeteo Profilo | Guru

ciao,
questa funzionalita' è intrinseca del viewer di Crystal, ovvero quando hai i raggruppamenti, se vai sopra al campo raggruppamento nella pagina relativa (quindi ti sto parlando di programma in esecuzione e report in anteprima dentro al viewer) si attiva una "Lente" come cursore del mouse.
Questa lente serve per il "drill-down" ovvero per l'esplorazione dettagliata di solo quel gruppo, tu fai doppioclick quando il cursore ti diventa lente, e si apre una tab con dentro le sole pagine del gruppo.
A questo punto con il dettaglio puntato su quel gruppo, vedi solo le pagine che compongono quel gruppo, scartando le altre, e quindi se stampi stampi solo quelle....

ps: la stessa cosa vale anche per i sottoreport

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

micromina Profilo | Newbie

grazie intanto per la risposta!

ma, quando "esploro il gruppo" vedo che nella toolbar si ridefinisce il numero delle pagine (es. pag. 1 di 2) ma se io creo un comando oRpt.PrintToPrinter(1, False, 0, 0) mi stampa solo le pagine che vedo? o devo passargli dei parametri nella function per specificare le pagine da stampare? es. oRpt.PrintToPrinter(1, False, DaPag, APag) dove daPag a Apag sono due textbox in cui l'utente digita da pag. 1 di 2 (dopo averlo letto nella toolbar, ridefinita dal drilldownd del gruppo?
ps. volevo specificare che non riesco a fare prove in remoto perché devo far stampare su una stampante di un'altra sede e da server non vedo quante pagine stampa, dovrei continuare a chiamare l'operatore di filiale... avevo fatto una prova e mi aveva iniziato a stampare 230 pagine, anche se ero sul gruppo selezionato...


grazie mille ancora!

ciao

micromina Profilo | Newbie

...ho appena fatto delle prove e confermo che non funziona.
Ad esempio se scelgo un gruppo e lo esploro con la lente, la barra di crystal si aggiorna e io vedo, per esempio pag. 1 di 7 per il gruppo x (ossia ci sono 7 elementi di quel gruppo).
Ma se lancio la stampa e metto nel dapag e apag 1 e 7, mi stampa le prime 7 pagine del report globale, ignorando la selezione del gruppo che sto guardando...
come faccio per passare alla sub di stampa le pagine che vedo sulla barra di Crystal?
ciao e grazie

freeteo Profilo | Guru

ciao,
io intendevo che premevi sul pulsante di "stampa" del viewer dopo aver fatto il "dettaglio" (drill-down) sul report e non che lo lanciassi da codice...
Sinceramente da codice non credo proprio che sia possibile a meno di non gestirti tu l'evento "dril-down" del viewer e vedere se li dentro hai qualcosa che ti puo' far isolare le pagine correntemente visualizzate...pero' a quanto ne so io non ce l'hai questa informazione...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

micromina Profilo | Newbie

ciao

ma qual'è il comando di stampa del viewer? io ho solo i tasti di navigazione, ricerca e zoom.

Uso Visual Studio 2003 con il crystal report relativo. Dici che ho una versione troppo vecchia?

grazie

freeteo Profilo | Guru

ciao,
nella toolbar del viewer non c'e' il pulsante stampa? (è prima dell refresh e dopo esporta)
Se non ce l'hai, verifica la proprieta "showprintbutton" del viewer che magari non sia stata impostata a false...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

micromina Profilo | Newbie

ciao,

non c'è il pulsante di stampa..... mi sa che ho una versione proprio vecchia!!!
nel viewer non ho proprietà del tipo Show...
ma ho proprietà tipo DisplayGroupTree, DisplayTollbar, HasDrillUpButton, HasRefreshBotton, HasSearchButton ma niente riguardante la stampa....!!!!!!!!

Sai se posso aggiornare il mio crystal alla versione che usi tu, anche con VS 2003? se sì mi diresti come?
grazie mille per l'interessamento, ciao

Cristina

freeteo Profilo | Guru

ciao,
se stai parlando del crystalreportviewer presente nelle pagine web, allora devi impostare la proprieta "PrintMode" in uno dei 2 valori permessi, ovvero "tramite la generazione di un file pdf", o tramite "l'utilizzo di un ocx" che viene installato sul client.
Prova a vedere se cambiando il valore di questo attributo del tag cambia qualcosa...
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" PrintMode="Pdf" AutoDataBind="true" />
con questo io ho l'icona per stampare...ma percaso al report hai messo "no-printer" nelle impostazioni di stampa?
Altrimenti sembra proprio un problema della tua versione, solo che non mi spiego come mai nella mia, che è la "standard di visual studio" funzioni correttamente...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

micromina Profilo | Newbie

Ciao,
intanto tanti auguri di Buon Anno e grazie per l'interesse che manifesti per il mio caso.
Anche per me ora è diventata una questione di principio.. ma che caspita di versione sto usando? io non ho nessun tasto di stampa, né mi compare nonostante il tag che ho aggiunto.
Per "nessuna stampante" ti riferisci a quando selezioni il file rpt, poi tasto destro , Finestra di Progettazione ---> Imposta stampante ---> Casellina Nessuna stampante in alto a sinistra vero? no la mia non è spuntata..
Inoltre il tag che mi indichi, ma dove trovo la proprietà? dovrei trovarla anche sul crystal report viewer, proprietà, no?
Io lavoro con Visual Studio 2003 SP1 e, per capire quale versione di Crystal Report, vado su Camponenti (o Riferimenti) Aggiungi e trovo CrystalDecisions.CrystalReports.Engine versione 9.1.5000.0.
E' la stessa che hai tu? se no come faccio ad aggiornarla? grazie ancora tantissimo, ciao

freeteo Profilo | Guru

ciao,
la versione che stai usando è corretta, è quella inclusa in visual studio 2003 e va bene.
Puoi allegare un esempio di progetto tuo dove non si visualizza l'icona di stampa? che cosi' almeno verifico il codice e soprattutto verifico se da me si comporta uguale...

ps: io ho la versione 2005 di visual studio, tu non puoi fare l'upgrade? oppure usare qualche versione express 2005? Perche' è il caso che cominci a pensarci visto che siamo gia' al 2008 su tutti i fronti ...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

micromina Profilo | Newbie

Ciao,

grazie mille.
Ieri ho anche aggiornato Crystal report con i due service pack disponibili (per la versione Visual Studio 2003).
Hai ragione per l'aggiornamento, in effetti questo è un progetto iniziato un bel po' di tempo fa quando VS 2003 era ancora "updated"(!) e adesso è stato chiesto di riprenderlo in mano e farci delle modifiche a livello di reportistica e statistica. Ma il prossimo senz'altro useremo VS2005 per tutti i prossimi progetti.

Ti allego i files "incriminati" fammi sapere se ti serve altro

Grazie ancora
ciao

micromina Profilo | Newbie

Aggiungo una cosa.. stavo gironzolando su Internet cercando immagini della toolbar di Crystal Report per vedere il famigerato tasto di stampa e ho trovato che anche su questo sito si vede la barra come la vedo io http://www.dotnethell.it/img/crystal7.png al link
http://www.dotnethell.it/articles/CrystalReportsASPNET.aspx. Ossia io sulla barra trovo
i pulsanti di spostamento, il goto, il refresh, il search e lo zoom.

e allora mi chiedo .. ma non è che sbaglio io a cercarla? ma dove si trova questo tasto?
Ho una mega fifa che sia solo un problema di distrazione mio, magari non so dove cercarla..

ciao

micromina Profilo | Newbie

Ciao Matteo,
scusa se ti stresso, per caso sei riuscito a dare un'occhiata ai files?
Purtroppo mi pressano per le scadenze e devo chiudere il progetto la prossima settimana.
Grazie mille e ciao

freeteo Profilo | Guru

ciao,
si scusa del ritardo, cmq ho guardato e non riesco a ripetere il tuo errore sul mio pc.
Purtroppo ho la versione 2005 e anche la 2008 e non la 2003 purtroppo, in queste 2 versioni il problema da me non c'e', ovvero usando la tua stessa pagina trovo il pulsante, soggetto alla proprieta' "HasPrintButton" che di default è pure a "true":


664x550 91Kb


Caspita...non riesco neanche a trovare ingiro il motivo di questo baco...tu hai gia' provato impostando HasPrintButton="True" immagino...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5