[ ALGHEN @ 02.11.2005. 15:37 ] @
Stampam kroz Graphics.DrawString i slicno ali nikako ne mogu da izvedem da odstampa vise strana kako treba. Koliko sam shvatio trebalo bi da se to formulise sa bool vrednosti HasMorePages, ali ja jednostavno nikako ne uspevam da kontrolisem to. Ili odstampa jednu stranu, i ne prenese ostatak podataka na drugu ili vise strana, ili stampa jednu istu stranu beskonacno. Negde debelo gresim. Evo koda, po internetu su sve iste :( : Code: public void ThePrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs ev) { float leftMargin = ev.MarginBounds.Left; float topMargin = ev.MarginBounds.Top; Font printFont = new Font("Arial", 12, FontStyle.Regular); SolidBrush brush = new SolidBrush(Color.Black); float yPosition = 10; // Stampa se podatak iz baze kroz petlju dok ima redova... float pozicijaTeksta = leftMargin; for (int i = 0; i < ds_print.Tables[0].Rows.Count; i++) { String tekst = ds_print.Tables[0].Rows/.ItemArray[1].ToString(); ev.Graphics.DrawString(tekst, printFont, brush, leftMargin, yPosition, new StringFormat()); yPosition = yPosition + 20; } // Ovde bi trebalo da se definise da li ima jos strana ev.HasMorePages = false; brush.Dispose(); } Definisanje da li ima jos strana i da to odradi ispravno mi nikako ne polazi za rukom... Da li neko moze da mi objasni kako da kontrolisem ovo??? Da li treba da racunam stalno visinun graphics-a, pa ako prelazi PageBounds da toznaci da ide na sledecu, ali ni to nisam uspeo da uradim... Molim za bilo kakvu pomoc! Unapred hvala... [Ovu poruku je menjao ALGHEN dana 03.11.2005. u 00:44 GMT+1] |