Winforms ReportViewer:慢初始渲染
更新2.4.2010 是的,这是一个古老的问题,但我想我会进行更新.因此,我再次与ReportViewer合作,它仍在初始负载下缓慢渲染.唯一的区别是SQL数据库在报告服务器上. 更新3.16.2009 我已经进行了分析,而不是SQL使ReportViewer在第一个通话中缓慢渲染.在第一个呼叫中,ReportViewer控件锁定UI线程,并使程序无响应.大约5秒钟后,ReportViewer将解锁UI线程并显示"正在生成报告",然后最终显示报告.我知道5秒并不多,但这不应该发生.我的同事在他的计划中做同样的事情,而报告浏览器立即根据任何请求显示"正在生成报告". 唯一的区别是报告服务器位于一台服务器上,并且数据位于另一台服务器上.但是,当我在SSR中开发报告时,没有延迟. 更新 我注意到,只有ReportViewer的第一个负载需要很长时间.相同或不同报告的每个后续负载都会快速加载. 我有一个 winforms 我在远程处理模式中使用的reportv
2 2023-05-23
编程技术问答社区
ASP.NET ReportViewer在本地模式下非常缓慢
我在本地模式下使用.NET 4.5和ReportViewer 11.我的报告非常缓慢(10分钟).我在这篇文章将添加到web.config将解决该问题,并且确实如此.报告渲染时间从10分钟到10秒钟,但是现在我在系统其他部分的动态变量行不通.这是错误: 动态操作只能在同质AppDomain中进行. 有没有一种方法来设置或仅在一页中具有相同效果的东西? 解决方案 请使用以下链接以获取更多信息 add: 部分:configuration/system.web of webconfig. 它有助于将报告绩效提高10次.但是在MVC项目中效果动态对象. 其他解决方案 将.NET框架更改为3.5将
0 2023-05-23
编程技术问答社区
将RDLC渲染成PDF,并带有超链接
我需要在PDF报告(RDLC)中添加超链接. 在添加超链接之前,该报告使得良好(通过.NET生成,使用参数和数据集生成). 为了在代码中做出"概念证明",我添加了 ReportViewer1.LocalReport.EnableHyperlinks = True ReportViewer1.HyperlinkTarget = "_Blank" 在rdlc中,我添加了一个文本框,添加了一个操作" go to url",并将URL设置为'渲染时我得到 本地报告处理期间发生了错误 当我更深入地研究错误时,Innerexception为 尚未指定运行报告所需的一个或多个参数. 我缺少什么? 解决方案 好吧,不是理想的,但是我最终在XML中编辑了RDLC,而不是通过VisualStudio UI进行编辑. 然后,我将硬编码URL交换为参数 vs一定不能设置所需的东西.在"段落"之后,我将以下内容添加到对象XML的根. 之后
0 2023-05-22
编程技术问答社区
从数据网格视图到报告视图中显示数据 C#
我有一个datagridview,我想将数据传递给ReportViewer,因此这样我可以轻松地打印和导出到PDF/Excel. 我该怎么做?还是有其他解决方案可以实现我的目标?谢谢你! :) 解决方案 由于您想将GridView数据传递给ReportViewer,因此您要做的第一件事是检索GridView的数据源,如下所示: BindingSource bs = (BindingSource)GridView1.DataSource;//You should first convert DataSourse into Binding Sourse DataTable dt = (DataTable) bs.DataSource; //Get GridView data source to Data table 现在,您在 DataTable DT 中获得了GridView数据,您可以将ReportViewer绑定到DataTable,如下所示: ReportVi
0 2023-05-22
编程技术问答社区
在后台从RDLC报告中创建一个PDF
我正在运行一个月末期,并希望它自动创建当时需要创建的一些报告.我正在使用RDLC报告.有没有一种方法可以在后台从RDLC报告自动创建PDF? 解决方案 这很容易做到,您可以将报告作为PDF渲染,并将结果字节数组作为磁盘上的PDF文件保存.为了在后台这样做,这更多是关于您的应用程序如何编写的问题.您只需旋转一个新线程,也可以使用背景工作人员(如果这是Winforms应用程序)等.当然,可能是多线程问题. Warning[] warnings; string[] streamids; string mimeType; string encoding; string filenameExtension; byte[] bytes = reportViewer.LocalReport.Render( "PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out
0 2023-05-21
编程技术问答社区
有人试图设置一个报告参数'studentSignDateParameter',但该参数并未在本报告中定义。
所以我有一个包含参数的报告. ReportParameter cvrParameter = new ReportParameter("cvrParameter", companyCVR); ReportParameter companyNameParameter = new ReportParameter("companyNameParameter", company.CompanyName); ReportParameter companyAddressParameter = new ReportParameter("companyAddressParameter", company.Address); ReportParameter companyCityParameter = new ReportParameter("companyCityParameter", company.City); ReportParameter studen
0 2023-05-19
编程技术问答社区
VB.Net报告查看器参数
我在report.rdlc添加了一个名为" reportTitle"的参数.它是文本,允许空白值和nulls.我已经尝试了不同的方法将参数值传递给无用.这是我到目前为止尝试的: Dim parReportParam1 As New ReportParameter("ReportTitle", "THIS IS MY TITLE") ReportViewer1.LocalReport.SetParameters(New ReportParameter() {parReportParam1}) 不起作用! Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter params(0) = New Microsoft.Reporting.WinForms.ReportParameter("ReportTitle", "THIS IS MY TITLE") ReportViewer1.
0 2023-05-19
编程技术问答社区
Reportviewer-在本地模式下提示参数?
Microsoft ReportViewer控件是否有可能在本地模式下提示参数? 我添加了一个参数来过滤报告,这可以是一个参数的模拟值. 我已经设置了参数的可用值属性,以读取查询的值列表. 我希望如果我没有在代码中设置参数值,则报告会像Crystal Reports一样提示它们(IM设置参数可用值的数据源) 我已经对此进行了一些研究,据我所知,报告唯一提示参数的时间是报告是否在服务器处理模式下运行. 是这样吗?我正在尝试避免在页面上添加控件以选择传递到报告的参数. 有与本地报告相关的参数属性,还是它们只是在那里? 为了完整性,这是IM用于设置报告数据源的代码: //Set the report Reporting.Common.SetReportEmbeddedResource( this.ReportViewer1, "Reporting.Reports.BudgetEnquiryDrill
2 2023-05-19
编程技术问答社区
报告查看器-以编程方式生成报告
我正在尝试使用内置报告查看器控件来生成我的自定义报告. Crystal Reports很重,并且对所有客户端计算机都不起作用,因此我正在尝试Microsoft报告. 本报告的目的是打印所有程序的列表.它们来自数据库,并存储在这样的列表中: Private Function ProgramDataset() As DataSet Dim ds As DataSet = New DataSet("Programs") Dim allPrograms As List(Of clsProgram) = clsProgram.GetAll() 'Build datatable Dim table1 As DataTable = New DataTable("Programs") table1.Columns.Add("ProgramName") For Each program As clsProgram In allPrograms
0 2023-05-19
编程技术问答社区
LocalReport.SetParameters 异常 试图设置一个报告参数'ParameterName',但该参数在此报告中没有定义。
我有两个按钮(button1,button2) 这两个按钮打开了两个相同的报告,但report2.rdlc具有字符串参数 如果我按Button1首先消息框显示参数count = 0(如预期),并且在reportviewer1中显示了report1.rdlc1 如果然后我按button2 消息框显示参数count count = 0再次(我希望它显示1),我将获得localProcessingException {"试图设置报告参数'reporter'epploter'report2parameterstring'在此报告中定义."} 如果我按下按钮2 消息框显示参数count = 1(如预期),并且我在reportviewer1中显示了report2 如果然后我按Button1 消息框显示参数count = 1再次(我希望它显示0)我在reportviewer1中显示了report1.rdlc毫无例外 我的代码是 private void report1Button_
0 2023-05-19
编程技术问答社区
C# ReportViewer 带参数的本地报告
下午好, 我已经在过去两个星期中度过了最好的部分,在我对C#Winform应用程序中遇到的问题上寻求帮助. 我的表单具有一个datagridview,显示从数据库中提取的详细信息.当用户双击此网格中的一行时,代码将从customerId列中获取值,将其放入静态公共字符串中,然后打开另一个具有ReportViewer的表单. 我要做的就是让ReportViewer使用CustomerID作为参数. . 到目前为止,我设法做的就是说明尚未指定报告定义. 我的SQL Server是一个旧服务器,没有SSR,由于更改请求问题,我无法安装它,因此我必须使用本地报告,而不是服务器报告. 我创建的报告的方式是转到Visual Studio中的解决方案资源管理器,然后转到Add -New Item -Report,然后我给了一个数据集和一个参数.我将报告放在一个名为报告的子文件夹中,该报告位于我所有表格旁边的解决方案中. 我的ReportViewer表单的代码如下
2 2023-05-19
编程技术问答社区
如何在报告查看器中添加参数?
hy!我在Visual Studio 2010中有一个表单应用程序,我想与报告查看器创建报告并添加一些参数.我尝试添加代码中的参数,但没有工作.我有一个错误: Tablix" Tablix1"的滤波器表达式是指" Datastart"字段.报告项目表达式只能参考当前数据集范围内的字段,或者(如果在聚合中)指定的数据集范围. Report2.RDLC:错误rsparameterReference:Tablix" Tablix1"的FilterValue表达式是指不存在的报告参数" DataStart". 在我的代码A中执行此操作: private void SetReportParameters() { ReportParameter[] parameters = new ReportParameter[2]; parameters[0] = new ReportParameter("datastart", dateTimePic
0 2023-05-19
编程技术问答社区
替代的SSRS前端
鉴于 sql Server报告服务可扩展的,捆绑的报告经理并不那么好,那里是否有其他开源SSRS前端? 由"前端"我想我的意思是可以在报告服务器上显示可用报告,收集所需参数(希望以比报告管理器更灵活的方式),然后运行报告.我想象的是使用ASP.NET ReportViewer组件构建的内容,但具有更好的参数收集. 我在CodePlex上找到了一个: reportviewer.codeplex.com 一个Winforms解决方案,但它是我发现的最接近的)...但是我想知道是否还有其他人,因为这似乎是许多人必须"滚动"的领域. 解决方案 回答我自己的问题:那里似乎没有任何其他开源SSR的前端,所以我已经建造了一个并开源: github crisscross at github 您将其指向SSRS服务器,然后将其关闭 - 它可以显示报告目录并让用户运行任何报告.到目前为止,我已经将其优化为具有许多可选参数和大量多项摘要的报告,但是它应该能够处理任何SSRS报告
2 2023-05-11
编程技术问答社区
将SQL密码嵌入到水晶报表RPT文件中?
我们正在尝试诸如此类的水晶报告: ...实际上可以重新连接到数据源并重新运行具有实时数据的Crystal报告RPT文件. 但是,在运行报告时,查看器要求一个密码连接到数据源(在这种情况下为SQL Server). 水晶报告是否有将连接密码嵌入到RPT文件中以避免这种情况的方法?还是我应该使用控制面板/ODBC的系统来解决此问题? 我认为别人一定有这个问题. 解决方案 您不能那样做.如果可能,将密码设置在DSN中或使用可以为您存储密码的报告查看器.当然,您还可以构建自己的.NET报告查看器,如果您有.NET知识,那并不难. 2010年4月29日添加: 您可以尝试做以下操作: 通过" Crystal Reports"中的"创建连接"连接到" ODBC(RDO)".在对话框的底部,您会找到输入连接字符串的选项.连接字符串可以包含登录信息,如下面的示例. 示例连接字符串: dsn =; db =; uid =; pwd =密码 其他解决方案
0 2023-05-07
编程技术问答社区
SSRS ReportViewer处置时出现nullreference异常
我们当前使用Windows服务生成PDF文件.我最近在优化了代码,并注意到了对内存的滥用使用.这是由于缺乏语句var reportViewer = new ReportViewer() 所引起的. 但是,在使用块关闭之后,添加了此代码后,将代码置于块之后,源自内部 distose methot中的代码. 为什么会发生此错误以及如何正确处理对象? 解决方案 可以在Visual Basic 在这里是因为由于某种原因,报告视图者期望httpcontext.如果不存在,则会发生此错误. 作为解决方法,可以添加以下行以解决问题: if (System.Web.HttpContext.Current == null) { System.Web.HttpContext.Current = new System.Web.HttpContext(
18 2023-04-14
编程技术问答社区
打印一个没有预览的ReportViewer
我正在使用Visual Studio 2010 C#Windows表单应用程序 + MySQL 我有一个报告的报表查看器,它正在工作100%. ReportViewer充满了我的数据库的数据,它显示了我单击以打印的按钮并打印...但是,我的客户端不想单击此按钮,他想自动打印.当我调用ReportViewer时,它可以单独打印,而无需单击按钮即可完成此操作.谁能告诉我我该怎么做? 我尝试了工具箱中的reportviewer1.print和printDocument.但是我不知道如何正确使用这些. 感谢关注! 解决方案 我遇到了同样的问题,这是我使用的代码,就像魅力一样工作! using System; using System.IO; using System.Text; using System.Globalization; using System.Drawing; using System.Drawing.Imaging; using System.Draw
6 2023-04-08
编程技术问答社区
如何将可数据化数据绑定到reportviewer运行时
我想对 dataTable 对 reportviewer 进行以下代码.我看不到结果出现在 ReportViewer 中,下面缺乏脚本? // create dataset DataSet ds = new DataSet("myDataset"); // create datatable DataTable dt = new DataTable("myDatatable"); // add columns dt.Columns.Add("column1", typeof(string)); dt.Columns.Add("column2", typeof(string)); dt.Columns.Add("column3", typeof(string)); // insert data rows dt.Rows.Add("row1-col1", "row1-col2", "row1-col3"); dt.Rows.Add("row2-col1", "row2-col2",
12 2023-04-08
编程技术问答社区
如何在WPF项目中向ReportViewer添加rdlc文件
我已经通过主窗口的XAML在WPF应用程序中添加了ReportViewer,我想向其添加现有的RDLC文件. 我希望我的ReportViewer在启动时显示一个空的RDLC文件(无参数),然后在从我的datagrid(绑定到observableCollection)中选择一行时,请相应地更改其参数,并显示填充的报告定义,而不是空的. 我将使用选定的行作为命令参数以及相关事件以及所有内容进行按钮,我只需要能够将数据传递给报告即可.我意识到这不是一个容易的问题,所以我会尝试简化: 如何将现有RDLC文件添加到ReportViewer(MVVM,WPF)? 我按下一个按钮 - >相关命令从我的观察力汇总作为参数(我的datagrid中的一行) - >如何将本项目的数据部分传递到未填充(或当然是填写的部分)部分报告? 我希望我很清楚.感谢提前答案! 解决方案 在设置了带有正确路径的Initilizemethod之后,该报告和数据集名称类似. private
2 2023-04-07
编程技术问答社区
MSBuild使用错误的汇编版本来编译RDLC文件
我正在使用VS 2010的ReportViewer控件来创建客户端报告(RDLC).一切都在我的开发机器上运行良好,当我手动编译(通过VS2010)并手动部署到未安装开发工具的测试计算机时. 为了使测试计算机工作(不安装VS2010或reportviewer.exe),我必须在项目中添加引用到Microsoft.reportviewer.winforms,Microsoft.reportviewer.common和Microsoft.common和Microsoft.report.report.reportviewer.processingmodel和他们都"复制本地". i具有为构建Action =>嵌入式资源配置的RDLC文件.在向项目添加新的RDLC时,这是默认设置.如果这可以解决此问题(不知道它是否相关),我愿意进行配置. . 问题:由于添加RDLC文件,该解决方案不再在构建服务器上构建.我已经在构建服务器上安装了ReportViewer.exe,并验证了GA
2 2023-04-04
编程技术问答社区
用RDLC构建项目时无法找到自定义组件
我已经将头发撕开了三天,试图在VS2010中获得RDLC报告.我想从表达式中的同一解决方案中的另一个项目中访问子报告中文本项目的自定义程序集.在包含RDLC的项目中,有一个对汇编的引用,我在子报告属性中添加了对汇编dll的引用,但是当我构建它时,我会发现一个错误告诉我它找不到文件: 加载代码模块时错误:" CCCarchive,版本= 2.0.847.11068,Culture = Neutral,publicKeyToken = Null".详细信息:无法加载文件或汇编'CCCarchive,版本= 2.0.847.11068,culture =中性,publicKeytoken = null'或其依赖项之一.系统找不到指定的文件. RDLC文件似乎没有XML中的汇编的路径信息,我尝试将汇编的副本放入包含RDLC的项目下的bin \ debug文件夹中,并且在与RDLC的同一文件夹中,没有成功. 从我几乎无法找到的东西来看,我似乎必须在GAC中注册大会才能使构建工作,
6 2023-03-23
编程技术问答社区