使用Visual Studio Ultimate 2012。C 夏普 .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;
}
然后我的报告有一个设置为“嵌入”的图像,值是对 C 驱动器上位置的导入。
现在这会加载很棒的图像,但是如果图像在运行时更改,则报告不会更改。
有没有办法强制导入更新?
我已经研究了其他没有运气的方法,例如将图像设置为外部图像并使用“file:///”,但只收到“x”符号。
基本上我已经没有关于做什么的想法了,这样的帮助会很棒。
非常感谢!
更新::好的哇根本没有回复....我一直在尝试其他一些东西。
在报告和代码中将图像设置为外部,然后将文件的路径作为参数传递,然后将图像的值设置为参数,我得到的只是“X”符号。我在这里锄头坚果,有一个简单的解决方案吗?
更新!! 好的,我浏览了很多消息来源都说同样的话,这应该可以工作,但由于某种原因,我仍然得到一个红色的 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。
或者,如果我将其设置为嵌入,是否有办法在按钮单击时重新嵌入图像?