[ ZoranV @ 15.11.2009. 08:41 ] @
Imam problem oko štamanja više strana kada koristim printDocument i for naredbu.
Naime program odradi ali štampa sve na jednom listu (jedan preko drugog).
U clipperu je imala komada mislim da se zvala break page i program zna da je strana završena i da sledeće štampa na drugom listu

Znači, potrebno je odštampati više dokumenata jedan za drugim (ovde se radi o popisu ali mogu biti i računi ili bilo šta što ne zauzima celu stranu)
Kada usmerim da dokument prevede u excel uradi sve kako treba jer tu ima komanda za novu stranu,
ali kad hoću da štama direktno na štamač onda sve štampa na jenom listu (recimo deset listova ispisanih na jednom od početka strane ).
Problem sam rešio tako što sam mu dao da štampa svaki list kao poseban dokument,
odnostno kao da u wordu prvo dam štampu 1. strane pa se vratim u dokument pa onda dam da se štampa 2. strana.

for (int j = 0; j < cmUc.Count; j++)
{
cmUc.Position = j;
AdministracijaDoc.PrintPage += new PrintPageEventHandler(this.printPoUcionicama_PrintPage);
AdministracijaDoc.Print();
}

Ali samtram da u visual studio C# ima mnogo lepši način da se ovo reši. Mora da pomenuta komanda brakpage ima i u visual C# ali ja nisam uspeo da je pronađem.

Unapred hvala.
[ DarkMan @ 15.11.2009. 13:06 ] @
Ne mozes raditi stampu sa PrintDocument na vise strana i koristiti petlje za kontrolu stampane strane. U dogadjaju PrintPage se odvija stampa samo jedne strane a preko argumenta PrintPageEventArgs.HasMorePages kontrolises da li ima jos strana za stampu.

Umesto ovog tvog:
Code:

for (int j = 0; j < cmUc.Count; j++)
{
  cmUc.Position = j;
  AdministracijaDoc.PrintPage += new PrintPageEventHandler(this.printPoUcionicama_PrintPage);
  AdministracijaDoc.Print();
}


probaj:

Code:

private int page = 0;
public void ZapocniStampu()
{
  this.page = 0;
  AdministracijaDoc.PrintPage += new PrintPageEventHandler(this.printPoUcionicama_PrintPage);
  AdministracijaDoc.Print();
}

private void printPoUcionicama_PrintPage(object sender, PrintPageEventArgs e)
{
  cmUc.Position = this.page;
  // ovde iscrtavas svoju stranicu

  this.page++;
  e.HasMorePages = (this.page < cmUc.Count);
[ ZoranV @ 15.11.2009. 13:34 ] @
RADI

Darko ponovo puno hvala (bila je pomoć i oko "Problem poravnjavanja brojeva u izvestaju Visual C#")