2012-12-12 14 views
5

Korzystanie z WPF CrystalReportsViewer i CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument Jestem w stanie dynamicznie dodawać obraz do wszystkich stron w rpt, wywołując ImportPicture w odpowiedniej sekcji . Jednak chcę dodać inny obraz do każdej strony.Jak uzyskać różne obrazy na różnych stronach w Crystal Reports VS2010

Zorientowałem się, ile stron potrzebuje zdjęć (patrz How do I get the number of rendered pages from a CrystalReportsViewer?), ale nie udało się uzyskać innego obrazu na każdej stronie.

Czy istnieje model danych raportu "jako wyrenderowany", do którego mogę uzyskać dostęp? Czy mogę dodać inny obraz na stronę?

Odpowiedz

1

Dodaj wszystkie obrazy do wybranej sekcji, następnie EnableSuppress i ustawić formuły do ​​ukrycia, gdy jej nie na żądaną stronę.

CrystalDecisions.ReportAppServer.ReportDefModel.PictureObject pic=ctl.ReportObjectController.ImportPicture(tempImagePath, s, 0, 0); 
         if (pic != null) 
         { 
          var picNew = pic.Clone(); 
          picNew.Format.EnableSuppress = true; 
          CrystalDecisions.ReportAppServer.ReportDefModel.ConditionFormula f = roNew.Format.ConditionFormulas[CrObjectFormatConditionFormulaTypeEnum.crObjectFormatConditionFormulaTypeEnableSuppress]; 
          if (f != null) 
          { 
           f.Syntax = CrFormulaSyntaxEnum.crFormulaSyntaxCrystal; 
           f.Text = string.Format("PageNumber <> {0}", ri.PageNumber); 

          } 
          ctl.ReportObjectController.Modify(pic, picNew); 
         } 
1

Nie jestem pewien co zrobić programowo w VS, ale można to zrobić w samym raporcie Crystal.

  1. Umieść obraz zastępczy w wybranej sekcji, lokalizacji.
  2. prawym przyciskiem myszy obraz -> przejdź do „formacie graficznym” -> wybierz zakładkę „Obraz”
  3. powinien pojawić się przycisk, który pozwoli Ci wprowadzić formułę dla „Graphic Location”
  4. Użyj formuła rozwiązać na prawidłową ścieżkę pliku obrazu poprzez „numer strony” słowo kluczowe:
select pagenumber 
case 1 : "C:\picture1.bmp" 
case 2 : "C:\picture2.bmp" 
... 
default : "C:\warning.bmp"
Powiązane problemy