2012-02-09 49 views
1

我知道有關於這個主題的類似問題,但不知何故我無法破解這個。Crystal Report法師沒有顯示

我GOOGLE了這個問題,並得到了大量引用,但沒有他們的工作對我來說:-(

我創造,我將使用徽章打印的水晶報表。

一切都很好除了我想條形碼的報告,該報告沒有顯示出來。

我創建這個條形碼中運行,並將其保存在我綁定到報告中的數據表。

I K現在有兩種方法可以做到這一點。

我能夠使用OLE對象獲取圖像,方法是將對象的Graphic屬性指定給包含圖像路徑的數據庫字段。

但這個方法的問題是,我必須保存圖像和徽章的數量可以達到10萬,並且我不想在服務器上保存10萬圖像文件。

相反,我想去另一種方法,要綁定字節[]字段來報告,但不知何故,這對我沒有用。

這是代碼。

  System.IO.MemoryStream strmem = new System.IO.MemoryStream(); 

      bc.Save(strmem, System.Drawing.Imaging.ImageFormat.Tiff); 

      Byte[] mybit = new Byte[strmem.Length]; 

      strmem.Read(mybit, 0, Convert.ToInt32(strmem.Length)); 

       dt.Rows[0]["Barcode_Image"] = mybit; 

其中DT是,我結合報告和「Barcode_Image」是含有條形碼圖像的字節[]形式

我已經有晶體中的System.Byte [] 字段的表在我的web配置中報告圖像處理程序。

Webconfig: 裝配

<assemblies> 
      <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
      <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> 
      <add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> 
      <add assembly="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> 
      <add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> 
      <add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> 
      <add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> 
      <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> 
</assemblies> 

的HttpHandler中的System.Web

<httpHandlers> 
     <add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI" validate="false"/> 
    <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
    </httpHandlers> 

的HttpHandler在System.webServer

<system.webServer> 
<handlers> 
    <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/> 
</handlers> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 

:我使用的VisualStudio 2010

親切指導我,whee我要去錯

+0

沒有答案.. ?? :-( – Neelam 2012-02-09 11:23:59

+3

)您是否可以不將條形碼作爲一串數字字符傳遞給Crystal,然後使用條形碼字體顯示?這就是我一直處理Crystal中的條形碼的方法 – 2012-02-09 15:59:10

+0

如果您從報告和過去複製圖像鏈接它進入一個新的窗口是否產生了錯誤信息? – Alxwest 2012-02-10 17:30:30

回答

0

打印條形碼Crystal Reports中的最簡單方法是傳遞一個字符串或整數報告,並使用條形碼字體顯示該字段。這樣,您就不必擔心將實際圖像文件存儲在數據庫中或將所述圖像數據傳遞給Crystal。