2012-08-28 32 views
5

有沒有辦法從圖像文件夾中的Crystal Reports頁面動態插入圖像?從圖像文件夾中的水晶報告頁面插入動態圖像

確切的要求是在 每一個水晶報表頁面頂部顯示一個公司的標誌,當他們改變,即當你有一個 新的標誌,你只改變圖像(.JPG)在圖像文件夾,並 所有報告中的相應圖像應該改變。

如何在C#中實現此目的?

回答

1

我發佈了我得到的答案,希望這會對其他人有所幫助。在你想要的位置和大小報告插入圖像佔位符:

private void getImage() 
    { 
     FileStream fs; 
     fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "img\\cube.png", FileMode.Open); 
     BinaryReader BinRed = new BinaryReader(fs); 
     try 
     { 
      CreateTable(); 
      DataRow dr = this.DsImages.Tables["images"].NewRow(); 
      dr["image"] = BinRed.ReadBytes((int)BinRed.BaseStream.Length); 
      this.DsImages.Tables["images"].Rows.Add(dr); 

      //FilStr.Close(); 
      BinRed.Close(); 

      DynamicImageExample DyImg = new DynamicImageExample(); 
      DyImg.SetDataSource(this.DsImages); 
      this.crystalReportViewer1.ReportSource = DyImg; 
     } 
     catch (Exception er) 
     { 
      MessageBox.Show(er.Message, "Error"); 
     } 
    } 
+1

你在CreateTable()裏面創建了什麼? DsImages? –

0

在CR你可以做到這一點。右鍵單擊它並選擇「格式化圖形」 - >轉到「圖片」選項卡 - >在「圖形位置」中輸入一個將返回所需文件路徑的公式。

+1

適用於CR 2008?我正在放置一個圖像,單擊鼠標右鍵,選擇「格式化對象」(沒有格式圖形),並且圖像選項卡中沒有「圖形位置」。請幫幫我。 –

+0

@NickeDaSilvaManarin是的,這是在CR2008。右鍵單擊圖片時,您不應該有「格式對象」選項,而只能使用「格式圖形」。確保你一次沒有選擇多個對象。 – Ryan