2012-12-13 22 views
0

使用Visual Studio Ultimate 2012C Sharp .Net4.0端口查看器在運行時傳遞的圖像

嗨,大家好,我在這裏將圖像保存到我的C驅動器

if (File.Exists("C:\\LabelImages\\TypeImage1.Png")) 
    {     
     File.Delete(@"C:\\LabelImages\\TypeImage1.Png"); 
     picNewType.Image.Save(@"C:\\LabelImages\\TypeImage1.Png"); 
       //reportViewer1.Reset(); 
       // reportViewer1.Refresh(); 
    } 
    else 
    { 
     if (!(picNewType.Image == null)) 
     {     
      picNewType.Image.Save(@"C:\\LabelImages\\TypeImage1.Png"); 
        //reportViewer1.Reset(); 
        //reportViewer1.Refresh(); 
     } 
    } 

然後我有設置報告paramters的方法。

public virtual IList<Microsoft.Reporting.WinForms.ReportParameter> NewReportSetup(string part, string batch, string locn, string wheel, string gear, string length, 
           string fits, string newbar, string newbarnum, string abs) 
    { 
     IList<Microsoft.Reporting.WinForms.ReportParameter> parameters = new List<Microsoft.Reporting.WinForms.ReportParameter>(); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramPart", part)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramBatch", batch)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramLocn", locn)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramWheel", wheel)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramGear", gear)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramLength", length)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramABS", abs)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramBuyer", fits)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramBarCode", newbar)); 
     parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("paramBartxt", newbarnum)); 
     //parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("path", filepath.AbsoluteUri)); 

     return parameters; 
    } 

然後我的報告有一個設置爲圖像「內嵌」和值是進口到C盤上的位置。

現在這個加載,這是偉大的形象,但如果圖像是改變在運行時,報告不會改變

有沒有辦法讓強制導入更新

我已經調查等方法沒有運氣,如圖像設置爲外部和使用「文件:///」但只有永遠免費獲贈「×」符號

基本上我用盡了什麼想法幫助將是偉大的。

非常感謝!

UPDATE ::確定哇沒有回覆.... 以及一直在嘗試一些其他的東西。

將圖像設置爲外部的報告和代碼,然後將路徑作爲參數傳遞給文件,然後將圖像的值設置爲參數,我所得到的全部是「X」符號。在這裏,堅果堅果對於這個來說是一個簡單的解決方案嗎?

更新! 好香港專業教育學院通過來源都說同樣的事情,這應該工作了很多了,但由於某種原因,我還在剛開一個紅色的X和下面的無圖像:

string filepath = @"file:///C:\LabelImages\TypeImage1.Png"; 
parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("path", filepath)); 

然後在我的報告,我有一個參數「路徑」,設置爲報告中的圖像的值在下面的表達式中

=Parameters!path.Value 

所有這些結合在一起應該給我一個圖像。源設置爲外部MIME設置爲Png。不僅如此,但香港專業教育學院還設置這個藏漢:

reportViewer1.LocalReport.EnableExternalImages = true; 
reportViewer1.RefreshReport(); 

然後在此之後我設置paramters:

IList<Microsoft.Reporting.WinForms.ReportParameter> param = new List<Microsoft.Reporting.WinForms.ReportParameter>(); 

      IList<Microsoft.Reporting.WinForms.ReportParameter> param = new List<Microsoft.Reporting.WinForms.ReportParameter>(); 

      param = reportshaft.NewReportSetup(txtNewPart.Text.ToString(), 
       txtBatch.Text.ToString(), txtLocation.Text.ToString(), txtWheel.Text.ToString(), txtGear.Text.ToString(), txtLength.Text.ToString(), 
       txtFits.Text.ToString(), txtNewBar.Text.ToString(), txtNewBarNum.Text.ToString(), txtABS.Text.ToString(), filepath.ToString()); 

      reportViewer1.LocalReport.SetParameters(param); 
      reportViewer1.RefreshReport();; 

那麼爲什麼即時通訊仍然沒有得到圖像?在這裏我失去了主意,真的需要一些人發佈一些東西。

即使我硬代碼如下:

="file:///C:\LabelImages\TypeImage1.Png" 

所以我在這裏真的卡住了,沒有錯誤存在的只是沒有圖像只是在一個盒子裏的小X。

或者有沒有一種方法可以在按鈕單擊時重新嵌入圖像,如果我將其設置爲嵌入式?

回答

0

我剛纔有幾乎相同的問題引用外部圖像...答案是隻有兩個斜槓「文件」後似乎。

文件:// C:\路徑\要\我的文件\ Logo.jpg

樣本下面是從我的工作報告(Report Builder 3.0中,SQL Server 2012中)

一個取

enter image description here