[ neskokejdz @ 23.04.2010. 00:41 ] @
Da li bi neko mogao da mi objasni proces stampanja stranica u C#?
Iz npr listview kontrole, datagrida, pomocu reporta ili bez, svejedno je... Kako da se narta zamisljena stranica pomocu koda i to...
Samo da je dobar i razumljiv primer.

Hvala unapred
[ ravni @ 24.04.2010. 10:41 ] @
ukratko:
treba da instanciras PrintDocument, povezes se na njegov event i iscrtas sta si hteo
Code (csharp):
 private void Print()
{
            PrintDocument printDocument = new PrintDocument();
            printDocument.DocumentName = "some name";
            printDocument.PrinterSettings.FromPage = 1;
            printDocument.PrinterSettings.ToPage = 1;
            printDocument.PrinterSettings.MaximumPage = 1;
            printDocument.PrinterSettings.MinimumPage = 1;
            printDocument.DefaultPageSettings.Landscape = false;
            printDocument.DefaultPageSettings.Margins = new Margins(50, 50, 50, 50);

            printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage);

            using (PrintPreviewDialog pp = new PrintPreviewDialog())
            {
                pp.UseAntiAlias = true;
                pp.Document = printDocument;
                pp.WindowState = FormWindowState.Maximized;
                pp.ShowDialog();
            }
  }

private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
            Graphics g = e.Graphics;
            Rectangle rect = e.MarginBounds;

            g.DrawRectangle(Pens.Black, rect);            

            e.HasMorePages = false;
}


[Ovu poruku je menjao Shadowed dana 24.04.2010. u 19:08 GMT+1]
[ neskokejdz @ 27.04.2010. 00:41 ] @
Hvala puno!!!
A kako bi recimo mogao da odstampam podatke iz kontrole ListView,
u kojoj se nalaze podaci iz baze podataka (u pitanju je SQL)...???
[ ravni @ 27.04.2010. 16:39 ] @
mogao bi umesto linije
Code:
g.DrawRectangle(Pens.Black, rect);
da napises recimo
Code:
foreach(object item in listbox.items)
{
string s = item.ToString();
g.DrawString(s, rect);
Size size = g.MeasureString(s);
rect.Y += size.Height;
}
ili tako nekako (nemam kompajler pri sebi)
[ neskokejdz @ 28.04.2010. 13:45 ] @
g.DrawString(s, rect);

Size size = g.MeasureString(s);

u ova dva reda mi izbacuje sledece greske:

No overload for method 'DrawString' takes '2' arguments

No overload for method 'MeasureString' takes '1' arguments
[ marko_81 @ 28.04.2010. 15:09 ] @
MeasureString: http://msdn.microsoft.com/en-us/library/6xe5hazb.aspx

DrawString:http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawstring%28VS.71%29.aspx
[ neskokejdz @ 28.04.2010. 15:41 ] @
Pogledao sam, ali i dalje ne razumem kako sta da prosledim u kodu tim metodama...
[ marko_81 @ 28.04.2010. 17:05 ] @
U MeasureString imas primer koji je vrlo jednostavan. Prostudiraj njega. To bi trebalo da ti odradi posao.