目前,我正在使用ASP.Net 4.0和2010 RDLC设计器在VS 2010中的报告网站上工作.我正在构建的报告类似于Master-detail报告,但我正在尝试使用嵌套表.
我的问题是我正在尝试将主报表中的字段值传递给子报表.表设置看起来像这样:
2表
第一张表:[RecordID,Name,Date,]第二张表:[RecordID,Description,DueDate]
我想要做的是这样一个表:
-------------------
| Name | Date |
------------------------------------
| Description1 | DueDate |
------------------------------------
| Description2 | DueDate |
------------------------------------
| Name2 | Date2 |
-----------------
Run Code Online (Sandbox Code Playgroud)
使用描述和DueDate的条目bieng子报告的一部分.
当我尝试将RecordID作为参数传递给子报表时,我必须在子报表的XML中手动定义,因为我无法在设计器UI中找到允许我向RDLC文件添加报表参数的任何位置,我从主报告中得到一个错误:
An error occurred during local report processing.
Value cannot be null. Parameter name: value
Run Code Online (Sandbox Code Playgroud)
所以它似乎在它到达子报表加载点之前出错了.
我正在将数据发送到主报告中,如果我从子报表中删除参数,数据就会通过.但是如果我添加参数,报告会抛出错误.
有没有人对可能导致这种情况的原因有任何想法?
我有asp.net MVC2应用程序.我正在使用VS2008,并希望将生成的报告从我的控制器连接到reportviewer.
有任何想法吗?
到目前为止我有这个代码"控制器"
//should pass data to report
public ActionResult GenerateReport()
{
LocalReport report = new LocalReport();
report.ReportPath = Server.MapPath("~/Reports/KingsCourt.rdlc");
List<InvoiceRow> rows = new List<InvoiceRow>();
rows.Add(new InvoiceRow { name = "Testing item", value = (decimal)25.85 });
rows.Add(new InvoiceRow { name = "Testing item2", value = (decimal)5.15 });
ReportDataSource source = new ReportDataSource("InvoiceRow", rows);
report.DataSources.Add(source);
ViewData["InvoiceRow"] = report;
return View();
}
Run Code Online (Sandbox Code Playgroud)
和查看页面:
<form id="form1" runat="server">
<h2>GenerateReport</h2>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
Font-Size="8pt" Height="400px" Width="400px">
<LocalReport ReportPath="Reports\KingsCourt.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="InvoiceRow" /> …Run Code Online (Sandbox Code Playgroud) 我有一个classlibrary项目,然后添加一个新的空报告.rdlc,当编译时抛出此错误
"报告定义无效.详细信息:报告定义具有无效的目标命名空间'http://schemas.microsoft.sqlserver.reporting/2008/01/reportdefinition',无法升级"
这不能是reportviewer因为是一个dll,我该怎么做才能解决它?
reportviewer 2010也已安装
我试图谷歌我的问题,但我没有发现我的问题.
当我使用ReportViewer导出报表时,我想从Reporting Services动态重命名我的报表.基本上,格式将是reportName + timestamp.
无论如何使用C#或Reporting Services本身做到这一点?
以下是我在页面上包含reportviewer的方法:
<rsweb:ReportViewer ID="rv" runat="server" ShowToolBar="true" ShowParameterPrompts="false"
BackColor="#F0F8FF" Height="1200px" Width="100%" ProcessingMode="Remote" EnableViewState="true"
Visible="false" SizeToReportContent="True">
<LocalReport EnableExternalImages="True">
</LocalReport>
</rsweb:ReportViewer>
Run Code Online (Sandbox Code Playgroud) 使用ReportViewer我想使用rdlc文件在一个pdf中呈现多个报告.
Byte pdfByte = Byte();
pdfByte = ReportViewer.LocalReport.Render("PDF", Nothing, mimeType, encoding, extensions, stream, warning);
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("content-disposition", "attachment; filename=myfile." + extension);
Response.BinaryWrite(pdfByte);
Response.Flush();
Response.End();
Run Code Online (Sandbox Code Playgroud)
这仅生成一个pdf报告.但我想在一个pdf文件中呈现多个报告.
请帮我.
错误:
本地报告处理期间发生错误。
报告“Include\Impresiones\Rport.rdlc”的定义无效。
此报表的定义无效或不受此版本的 Reporting Services 支持。
报表定义可能是使用较新版本的 Reporting Services 创建的,或者包含基于 Reporting Services 架构格式不正确或无效的内容。详细信息:报告定义具有无效的目标命名空间“http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition”,无法升级。
当我有 VS2012 时,我可以毫无问题地编辑它,但现在我更新到 VS2019,当我编辑报告并想在报告查看器中显示它时,我收到该错误,如何解决?
在我的web.config我有:
<system.web>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<!--<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>-->
<add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
<add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
<buildProviders>
<!--<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>-->
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, …Run Code Online (Sandbox Code Playgroud) 我试图在我的ReportViewer控件中应用某些表格单元格的条件格式.我了解如何通过比较驻留在同一行中的数据来应用条件,例如,如果Cost高于收入,则以下将为单元格着色:
=IIf(Fields!Cost.Value > Fields!Revenue.Value, "Red", "Black")
Run Code Online (Sandbox Code Playgroud)
我的问题是我需要将数据与前一行进行比较.我的要求是标记从上一个条目更改的表格单元格.例如:
TableRow 1: Fred, 23, Boat
TableRow 2: Fred, 67, Boat ** 67 needs to be flagged
Run Code Online (Sandbox Code Playgroud)
如何使用条件语句进行此操作?
我在我的asp.net mvc(C#)应用程序中使用Reportviewer.在IE和Firefox中,reportviewer看起来很好.
但在Chrome中,标题和正文缩小了.我能够按照http://www.mazsoft.com/blog/post/2009/08/13/ReportViewer-control-toolbar-in-Google-Chrome-browser.aspx中的建议更正标题显示问题.
if ($.browser.safari) {
$("#ReportViewerControl table").each(function(i, item) {
$(item).css('display', 'inline-block');
});
}
Run Code Online (Sandbox Code Playgroud)
但是Body(Viewer)部分仍然显示在屏幕的一半.问题似乎是td表的空第二个宽度:
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td onpropertychange="ShowFixedHeaders()" id="oReportCell">....Some Data...</td>
<td height="0" width="100%"></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
上表中的第二个td是空的,宽度为100%,这可能是chrome中bug的原因.如何删除第二个td的宽度或者是否有任何修复? ReportViewer Design http://www.freeimagehosting.net/uploads/13114a4f00.png
如何访问嵌套iframe中的元素?
我有一个ASP.NET项目,我正在使用Report Viewer 2010.这个项目到处都是多语言的,我使用资源文件(.resx文件)进行了本地化.
如何在报表查看器中将报表设置为多语言?
我可以通过使用报告参数使报告的列多语言,但是如何使报告的其他人员,接下来,打印功能多语言?
提前致谢..
显然,我一直在C#windows窗口中进行试算平衡报告 - 报告查看器,显示"帐户"的年度报告及其在每个帐户中的应付总额.
根据用户的选择,该报告假设每年的复合价值 -
例如. Jan. 1 2013-to-Feb. 1 2014,将有一个复合值Jan-Dec 2013, "TOTAL=4,500,000" and Jan-Feb 2014, "TOTAL=45,000".
我在报告中的内容是持续的复合价值,
2013年1月至12月,"TOTAL = 4,500,000"和2014年1月至2月,"TOTAL = 4,545,000".
我在单元格中的代码是 =RunningValue(Fields!DEBIT.Value,Sum,"summaryDataSet").
我希望读者能理解我在这里要说的话并帮助我.谢谢.
reportviewer ×10
rdlc ×4
asp.net ×3
c# ×3
winforms ×2
asp.net-mvc ×1
conditional ×1
jquery ×1
reporting ×1