84 messaggi dal 11 luglio 2013
Salve, ho un bottone Stampa.. Quando clicco vorrei che si aprisse una nuova scheda contenente una tabella, per cui non vorrei il menù ecc.. vorrei solo vedere la tabella con i valori del cliente scelto..

Siamo buoni a nulla, ma capaci di tutto.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Anna,
forse possiamo risolvere il problema senza dover aprire nuove schede.

Se ho capito bene, in questo momento la tua view già mostra la tabella con i valori del cliente ma così per la stampa non va bene perché è contornata da menu e da altri elementi che non devono apparire.

In questo caso puoi agire sul CSS, che ti permette di definire degli stili diversi quando la pagina va in stampa. Ad esempio potresti aggiungere quanto segue al tuo file .css:
@media print
{    
    #menu, #colonnalaterale, #footer { display: none !important; }
}

In questo modo, grazie alla direttiva @media print e alla regola display:none che si applicherà solo quando la pagina viene stampata, non appariranno gli ipotetici elementi che hanno gli id "menu", "colonnalaterale" e "footer". Tu ovviamente cambia questi ID con i tuoi, ed eventualmente aggiungine altri.

Ora non ti resta che aggiungere alla view il bottone per avviare la stampa.
<button type="button" onclick="window.print();">Stampa</button>

Il vantaggio è che l'utente potrà avviare la stampa anche nel modo classico, e cioè premendo la combinazione di tasti CTRL+P o scegliendo "Stampa" dal menu del browser.

Questo vuol dire che anche tutte le altre pagine della tua applicazione, d'ora in poi, verranno stampate senza menu e senza elementi di contorno. Questo può esserti gradito o meno. Se pensi che sia un problema, possiamo apportare piccole modifiche per correggere questo comportamento.

ciao,
Moreno

Enjoy learning and just keep making
84 messaggi dal 11 luglio 2013
PERFETTO!! :) ho aggiunto altri id per renderlo ancora più pulito! Grazie mille!! :)
Modificato da Grian Fonina il 07 ottobre 2013 23.24 -

Siamo buoni a nulla, ma capaci di tutto.
84 messaggi dal 11 luglio 2013
Salve, un'ultima domanda: è possibile far sì che il contenuto della pagina Stampa che mi occupi tutta pagina (dopo aver premuto Ctrl+P) ?

Siamo buoni a nulla, ma capaci di tutto.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Anna,
sì, è possibile farlo e bisogna ricorrere, ancora una volta, alle regole CSS.
Assegnando width:100% alla griglia che contiene i dati, farai in modo che occupi tutta la larghezza della pagina di stampa.

Ovviamente dovrei guardare il tuo codice HTML per capire a quali elementi assegnare quella regola ma, in linea generale, se nella tua pagina ci fosse una <table id="griglia">, allora dovresti scrivere:
@media print
{    
    #griglia { width:100% !important; }
}

Come nel caso precedente, questa regola si applicherà solo quando la tua pagina viene stampata su carta, dato che si trova nella direttiva @media print.

ciao,
Moreno

Enjoy learning and just keep making
84 messaggi dal 11 luglio 2013
Graazie mille :)

Siamo buoni a nulla, ma capaci di tutto.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.