使用 Visual Studio Ultimate 2012 。 C 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();
}
}
然后我有一个设置报告参数的方法。
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;
}
然后我的报告的图片设置为“embeded”,值为导入到C盘上的位置。
现在这会加载图像,但是如果图像在运行时更改,则报告不会更改。
有没有办法强制导入更新?
我没有运气就研究过其他方法,例如将图像设置为外部并使用“file:///”,但只接受 “x”符号。
基本上我不知道该做什么,所以帮助会很棒。
非常感谢!
UPDATE :: 好的哇根本没有回复.... 我一直在尝试其他一些东西。
在报告和代码中将图像设置为外部,然后将路径作为参数传递给文件,然后将图像的值设置为参数,所有我得到的都是“X”符号。我在这里坚持坚果这是一个简单的解决方案吗?
UPDATE !! 好吧我已经经历了很多来源都说同样的事情,这应该工作,但由于某种原因,我仍然得到一个红色的x,没有以下的图像:
string filepath = @"file:///C:\LabelImages\TypeImage1.Png";
parameters.Add(new Microsoft.Reporting.WinForms.ReportParameter("path", filepath));
然后在我的报告中我有一个参数“path”,它被设置为以下表达式中报告上图像的值
=Parameters!path.Value
所有这些结合在一起应该给我一个图像。源设置为外部MIME设置为Png。不仅如此,我还设置了这个:
reportViewer1.LocalReport.EnableExternalImages = true;
reportViewer1.RefreshReport();
然后在此之后我设置了参数:
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 :(得分:0)
我刚刚引用了外部图像几乎相同的问题...答案只是在“文件”之后只有2个斜杠。
文件:// C:\ Path \ To \ My File \ Logo.jpg
以下示例来自我的一份工作报告(Report Builder 3.0,SQL Server 2012)