我想知道如何在Microsoft ReportViewer中为特定的TextBox将货币格式从美元($)更改为EURO(€)?
因为它总是在前面显示一个美元符号,格式为##,###.##和欧元,它必须像##.###,##
我有一个ASP.NET Web应用程序,它利用ReportViewer显示本地报告.一切都在我的开发机器上运行得很漂亮(XP Pro,Visual Studio 2008).当我将应用程序部署到生产服务器(Windows Server 2008,IIS 7)时,除了报表查看器之外,该站点运行良好.生成报告时,报告查看器仍为空.
我编写了调试代码来验证是否正在从数据库接收记录,它们是.不会发生错误,但报表查看器中不显示任何记录.此外,通常出现在ReportViewer控件的菜单栏中的图像(导出按钮,打印按钮,前进和后退按钮等)也不会加载.
我在服务器上运行ReportViewer.exe来安装相应的文件,并且我已经验证它们是在机器的GAC中.
任何人都可以建议一种方法来调试这个...如果生成错误会更容易(我不敢相信我只是这么说)?
我有两个按钮(button1,button2)两个按钮打开两个相同的报告,除了report2.rdlc有一个字符串参数
如果我先按下button1,则消息框显示参数count = 0(正如预期的那样),我在reportviewer1中显示report1.rdlc,然后我按下按钮2 ,消息框再次显示参数count = 0(我希望它显示为1)和我得到LocalProcessingException {"尝试设置报告参数'Report2ParameterString',此报告中未定义."}
如果我先按下button2,则消息框显示参数count = 1(正如预期的那样),我在reportviewer1中显示report2,如果我按下button1 消息框再次显示参数count = 1(我希望它显示0) 我得到报告1 .rdlc显示在reportviewer1中,没有例外
我的代码是
private void report1Button_Click(object sender, EventArgs e)
{
reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\report1.rdlc";
MessageBox.Show("parameters count =" + reportViewer1.LocalReport.GetParameters().Count.ToString());
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", reportDataTable));
reportViewer1.RefreshReport();
}
private void report2Button_Click(object sender, EventArgs e)
{
reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\report2.rdlc";
MessageBox.Show("parameters count =" +reportViewer1.LocalReport.GetParameters().Count.ToString());
reportViewer1.LocalReport.SetParameters(new ReportParameter("Report2ParameterString", " testing Report2ParameterString"));
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", reportDataTable));
reportViewer1.RefreshReport();
}
Run Code Online (Sandbox Code Playgroud) 我在表单上使用ReportViewer控件:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server">
</rsweb:ReportViewer>
</form>
Run Code Online (Sandbox Code Playgroud)
在页面代码文件中初始化的报告文件路径:
protected void Page_Init(object sender, EventArgs e)
{
ReportViewer1.LocalReport.ReportPath = "Reports/Source/Untitled.rdlc";
}
Run Code Online (Sandbox Code Playgroud)
当报告呈现时,我得到了下一个错误:
A data source instance has not been supplied for the data source 'DataSet1'.
Run Code Online (Sandbox Code Playgroud)
连接正常(我测试过),当我尝试在MS SQL Server报表生成器中运行报表时 - 它也正常工作(生成报表).
我已经开发了SSRS报告并部署在服务器上.报告具有下拉列表,基于下拉选择报告数据的变化,因为此下拉值作为参数传递给报告.直接访问时,该报告工作正常.
现在我已使用ReportViewer将此报告集成到我的ASP.net MVC 3应用程序中.当访问报告时,通过Web应用程序页面似乎正确加载,但是当我单击"查看报告"时,它会显示消息"正在加载"一段时间,然后不显示任何内容.我对此毫无头绪,根本不理解这种行为.
UPDATE
我在/sf/answers/178321811/找到了解决方案
我需要从中提取两个数据集,一个是两个报告都使用的基础,然后是一个只有一个报告从中提取的单独数据集。我收到错误
\n\n\n\n\n错误 12 文本框 \xe2\x80\x98Textbox9\xe2\x80\x99 的值表达式引用\n 字段 \xe2\x80\x98Name\xe2\x80\x99。报表项表达式只能引用当前数据集范围内的字段,或者如果在聚合内,则引用指定数据集范围内的字段。
\n
我最好的猜测是我必须将它们与正确的数据集相关联,但我无法找到任何相关文档。
\n\n编辑:我正在尝试访问为报告文档上的字段创建的属性文件。
\n\n有人可以告诉我在rdlc文档中的哪个位置我需要编写类似的代码name.value“dataset1”或类似内容的代码吗?
我正在使用visual studio 2012来开发MVC应用程序.我已经在我的项目中添加了一个ascx页面来放置报表查看器.当我从页面中的工具箱中拖放ReportViewer组件时,它没有正确显示ReportViewer并在其上显示此错误:
Failed to create designer 'Microsoft.Reporting.WebForms.ReportViewer, Microsoft.Reporting.WebForms version 10.0.0.0, Culture=natural, PublicKeyToken=b03f5f7f11d50a3a'
我还将Microsoft.ReportViewer.WebForms程序集添加到项目References中.Visual Studio 2012中的reportviewer有什么问题吗?任何帮助都提前感谢.
我正在尝试从我的项目中获取报告.我Rdlc使用visual studio 2012 按文件进行报告.
我使用以下代码获取数据:
List<InvoiceDetailRPT> list = customerRpt.ReturnListOfInvoiceDetailsForGRV(invoiceDetails);
Microsoft.Reporting.WinForms.ReportDataSource dataset =
new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", list);
reportViewer1.LocalReport.DataSources.Add(dataset);
dataset.Value = list;
reportViewer1.LocalReport.Refresh();
reportViewer1.RefreshReport(); // refresh report
Run Code Online (Sandbox Code Playgroud)
一切正常,但在打印预览中我有一个很大的问题.例如在每个页面我应该显示6项,如果项目超过6,记者应该为此制作另一页.但是当我的项目少于6时记者让另一个年龄空白!!!和另一个问题,当我的记录多于6它创建4页而页面2和4是空白的.为什么?
例如,在图片中,我的结果有9个项目,结果如下:

第2页是这样的:

第3页显示了7 8 9号码的项目

而最后一个又是空白

它意味着每个页面都会成为一个空白页面为什么?
最好的祝福
你们中有人知道是否可能以及如何以编程方式设置报表查看器的报表语言吗?
例如,这样的事情:
var reportviewer = new ReportViewer();
reportViewer.LocalReport.Language = CultureInfo.CurrentUICulture;
Run Code Online (Sandbox Code Playgroud)
或者更具体地说,是否可以将报告语言设置为自定义区域性以及如何设置?
当我从Visual Studio 2015社区升级到Visual Studio 2017社区时,我在reportviewer报告中收到以下错误.
Microsoft.Reporting.WinForms.LocalProcessingException:'本地报表处理期间发生错误.'
内部异常DefinitionInvalidException:报告''的定义无效.
reportviewer ×10
c# ×5
rdlc ×3
asp.net ×1
asp.net-3.5 ×1
currency ×1
parameters ×1
reporting ×1
winforms ×1