ciao a tutti mi serve stampare dei dati presi da un database e mi serve poter gestire più pagine per la stampa...

Recupero i dati da un database attraverso varie select una dentro l'altra.. Per intenderci devo ottenere ,con i dati presi dal db, una paginazione del genere:

CLIENTE 1
FORNITORE 1 relativo al cliente 1
ARTICOLO 1 relativo al fornitore1 del cliente1
ARTICOLO 2 relativo al fornitore1 del cliente1
FORNITORE 2 relativo al cliente 1
ARTICOLO 1 relativo al fornitore2 del cliente1
ARTICOLO 2 relativo al fornitore2 del cliente1

CLIENTE 2
FORNITORE 1 relativo al cliente 2
ARTICOLO 1 relativo al fornitore1 del cliente2
ARTICOLO 2 relativo al fornitore1 del cliente2
FORNITORE 2 relativo al cliente 2
ARTICOLO 1 relativo al fornitore2 del cliente2
ARTICOLO 2 relativo al fornitore2 del cliente2

sono riuscito a fare una cosa del genere creandomi una funzioncina che mi permette di effettuare una select sul db e costruendomi la pagina in questo modo:

Codice PHP:


        
private void printDocument1_PrintPage(object senderSystem.Drawing.Printing.PrintPageEventArgs e)
        {
            
            
Utils utils1 = new Utils();
            
String ConnStringSQL utils1.setConnectionString("*****""******");
            
DataTable tabella1 utils1.eseguiSelect("SELECT DISTINCT (Cliente) FROM magazzino WHERE magazzino.ARR='True' AND magazzino.CONS='False' ORDER BY magazzino.Cliente DESC"ConnStringSQL);

            
float y 20;

            foreach (
DataRow dr1 in tabella1.Rows)
            {
                
Object Cliente dr1[0];
                
String Cliente_s Cliente.ToString();

                
Graphics g e.Graphics;
                
Font messageFont = new Font("Arial"10System.Drawing.GraphicsUnit.Point);
                
g.DrawString(Cliente_smessageFontBrushes.Black20y);

                
20;

                
Utils utils2 = new Utils();
                
DataTable tabella2 utils2.eseguiSelect("SELECT DISTINCT (Fornitore) FROM magazzino WHERE magazzino.Cliente='" Cliente "' ORDER BY magazzino.Fornitore DESC"ConnStringSQL);

                foreach (
DataRow dr2 in tabella2.Rows)
                {
                    
Object Fornitore dr2[0];
                    
String Fornitore_s Fornitore.ToString();
                    
                    
Font messageFont2 = new Font("Arial"8System.Drawing.GraphicsUnit.Point);
                    
g.DrawString(Fornitore_smessageFont2Brushes.Black40y);
                    
                    
20;
                    
                    
                    
Utils utils3 = new Utils();
                    
DataTable tabella3 utils3.eseguiSelect("SELECT DISTINCT (Codice) FROM magazzino WHERE magazzino.Fornitore='" Fornitore_s "' ORDER BY magazzino.Codice DESC"ConnStringSQL);

                    foreach (
DataRow dr3 in tabella3.Rows)
                    {
                        
Object Codice dr3[0];
                        
String Codice_s Codice.ToString();

                        
Font messageFont3 = new Font("Arial"6System.Drawing.GraphicsUnit.Point);
                        
g.DrawString(Codice_smessageFont3Brushes.Black60y);

                        
20;

                    }
                }
            }
            
        } 
In questo modo riesco a ottenere l'impaginazione che volevo...
Quindi richiamo la stampa con un pulsantino:

Codice PHP:

        
private void BTN_Stampa_Click(object senderEventArgs e)
        {           
            
printDocument1.Print();
        } 

il Problema è che non ho idea di come fare a gestire più pagine... per ora ottengo la stampa solo di 1 pagina..

spero di avervi fatto capire + o meno qual'è la mia situazione..
Potreste aiutarmi a capire come stampare su più pagine??

Grazie 1000