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
.NET Framework
Stampare utilizzando printpreviewdialog
lunedì 21 aprile 2008 - 20.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
marcogio
Profilo
| Newbie
18
messaggi | Data Invio:
lun 21 apr 2008 - 20:08
cerco di stampare i dati prelevati da una datagridview, utilizzando printpreviewdialog.
Se stampo utilizzando printDocument.print, tutto ok.
Se utilizzo printpreviewdialog per effettuare l'anteprima, tutto ok.
Se cerco di stampare i dati dalla finestra di anteprima, i dati memorizzati nell'ArrayList, non vengono stampati.
questo è il codice
code
-------------
private void toolStripButton9_Click(object sender, EventArgs e)
{
//cancello l'ArrayList precedente
elencoBanca.Clear();
//carico ArrayList dei dati della tabella
for (int i = 0; i < bsbanca.Count; i++)
{
elencoBanca.Add(dataGridView1.Rows[i].Cells["entrateUscite"].FormattedValue);
elencoBanca.Add(dataGridView1.Rows[i].Cells["cifra"].FormattedValue);
elencoBanca.Add(dataGridView1.Rows[i].Cells["data"].FormattedValue);
elencoBanca.Add(dataGridView1.Rows[i].Cells["modalita"].FormattedValue);
elencoBanca.Add(dataGridView1.Rows[i].Cells["motivo"].FormattedValue);
elencoBanca.Add(dataGridView1.Rows[i].Cells["estratto"].FormattedValue);
}
ppdbanca = new PrintPreviewDialog();
pdbanca = new PrintDocument();
pdbanca.PrintPage += new PrintPageEventHandler(pdbanca_PrintPage);
ppdbanca.Document = pdbanca;
//ppdbanca.AutoScaleDimensions = FormWindowState.Maximized ;
ppdbanca.ShowDialog();
//pdbanca.Print();
}
void pdbanca_PrintPage(object sender, PrintPageEventArgs e)
{
int x = 10;
int y = 10;
int l = 100;
int h = 100;
int contacolonne = 0;
carattere=new Font("Arial",12);
//creo un ciclo di stampa. Stampo tutti gli oggetti dell'arraylist.
while(elencoBanca.Count>0 && y < e.MarginBounds.Height)
{
while (contacolonne < 6)
{
rettangolo = new Rectangle(x, y, l, h);
stampabanca = (string)elencoBanca[0];
e.Graphics.DrawString(stampabanca, carattere, Brushes.Black, rettangolo);
elencoBanca.RemoveAt(0);
contacolonne++;
x = x + l;
}
contacolonne = 0;
x = 10;
y = y + h;
}
if (elencoBanca.Count > 0)
e.HasMorePages = true;
else
e.HasMorePages = false;
}
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 !