Stampare 5 dataGridView in una sola volta in un solo foglio

di il
4 risposte

Stampare 5 dataGridView in una sola volta in un solo foglio

Ho provato questo codice, funziona, ma stampa un DataGridView alla volta:

private void printTest_Click(object sender, EventArgs e)
{
DGVPrinter printer = new DGVPrinter();
printer.Title = "";
printer.SubTitle = "";
printer.SubTitleFormatFlags = StringFormatFlags.LineLimit |
StringFormatFlags.NoClip;
printer.PageNumbers = true;
printer.PageNumberInHeader = false;
printer.PorportionalColumns = true;
printer.HeaderCellAlignment = StringAlignment.Near;
printer.Footer = " ";
printer.FooterSpacing = 15;

printer.PrintDataGridView(datagridview1);
}
Il problema è che se aggiungi queste parti di codice, apre la finestra di stampa ogni volta, per ognuna di queste operazioni.

printer.PrintDataGridView (datagridview2); // new print windows
printer.PrintDataGridView (datagridview3); // new print windows
printer.PrintDataGridView (datagridview4); // new print windows
printer.PrintDataGridView (datagridview5); // new print windows

Tutti i DataGrridView hanno lo stesso numero di colonne, sono identici.

Se volessi utilizzare tutti i 5 DataGrridView allo stesso tempo e sulla stessa pagina, e solo una finestra di stampa.

Cosa dovrei fare?

4 Risposte

  • Re: Stampare 5 dataGridView in una sola volta in un solo foglio

    Salve,
    probabilmente ti appoggi su qualche cosa simile a https://www.codeproject.com/Articles/18042/Another-DataGridView-Printer
    se e' cosi', sicuramente la classe stampa 1 solo controllo alla volta...
    direi che la soluzione, in questo caso, sia una sola, cioe' mettere mano alla classe e fargli accettare una lista di controlli, e ciclarli tutti...
    saluti omnia
    --
    Andrea
  • Re: Stampare 5 dataGridView in una sola volta in un solo foglio

    Ciao Andrea, si mi riferisco a quel codice.
    Io posso anche metterlo in un ciclo, ma speravo ci fosse un metodo più veloce a me ancora sconosciuto. Magari tu conosci un altro metodo per stampare più datagridview nella stessa pagina....?
  • Re: Stampare 5 dataGridView in una sola volta in un solo foglio

    Salve __Ivan__,
    sinceramente, no...
    personalmente non ho usato direttamente una classe generica di altri, ma ne ho scritta una personalmente, ed accetta 1 solo controllo alla volta perche' non avevo questa esigenza per "la classe generica"... nei "casi particolari" uso apposite classi dedicate di stampa che accettano una list of datagridview (con l'elenco dei campi da stampare per ogni dgv), ed alla fine della fiera fa la stessa cosa ciclando sui controlli passati, tenendo ovviamente conto del controllo in loop e del puntatore alla "riga", in quanto ovviamente sono presumibili "piu' pagine"... ma tendenzialmente "cambia poco"
    metti mano al sorgente e.... divertiti :D
    saluti omnia
    --
    Andrea
  • Re: Stampare 5 dataGridView in una sola volta in un solo foglio

    Buongiorno Andrea,
    farò così.. , appena avrò la soluzione la posterò , in modo tale che possa tornare utile a tutti.
    Saluti
Devi accedere o registrarti per scrivere nel forum
4 risposte