点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我刚刚购买了SAP Crystal Reports 2016,并且使用的是Microsoft Visual Studio 2015,并且安装了Crystal Reports for VS v13.0.17.2096。 我建立了一个包含CrystalReportViewer控件的网页来显示我的报告。 我的问题是,当用户单击工具栏上的"导出"时,PDF的文件名始终默认为" crViewer.pdf ",这是CrystalReportViewer控件的ID。 我想使用日期和时间戳或其他一些已知的唯一标识符来默认文件名,以便客户端可以轻松地将它们保存到其网络文件夹中。
我尝试使用以下代码:-
crViewer.ID =" Report_" +格式(现在是" yyyyMMdd_HHmm")
但这会使控件不稳定。 如何使用Crystal Reports工具栏中的"导出"按钮默认导出文件名?
您是否正在使用Sessions和PostBack,必须将查看器保持在Session中,而使用POSTBACK是唯一方法吗?
这对我有用,很可惜您没有发布所有代码:
受保护的无效Page_Init(对象发送者,EventArgs e)
{
System.Drawing.Printing.PrintDocument pDoc =新的System.Drawing.Printing.PrintDocument();
rd =新的CrystalDecisions.CrystalReports.Engine.ReportDocument();
CrystalDecisions.CrystalReports.Engine.Database crDatabase;
CrystalDecisions.CrystalReports.Engine.Tables crTables;
CrystalDecisions.Shared.TableLogOnInfo tblogoninfo;
CrystalDecisions.Shared.ConnectionInfo cninfo;
字符串url ="/inetpub/wwwroot/WebSite7VS2015/Reports/test.rpt";
rd.FileName = url;
#region会话
if(Session [" rd"] == null)
{
尝试
{
rd.Load(url,OpenReportMethod.OpenReportByTempCopy); Session.Add(" rd",rd); }最后
{
//打开数据库连接
//myConnection.Close();
}
}
#endregion会话
CrystalReportViewer1.Height = 300;
CrystalReportViewer1.Width = 300;
CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
//设置格式导出类型:
int myFOpts =(int)(
CrystalDecisions.Shared.ViewerExportFormats.RptFormat |
CrystalDecisions.Shared.ViewerExportFormats.PdfFormat |
CrystalDecisions.Shared.ViewerExportFormats.RptrFormat |
//CrystalDecisions.Shared.ViewerExportFormats.XLSXFormat |
//CrystalDecisions.Shared.ViewerExportFormats.CsvFormat |
//CrystalDecisions.Shared.ViewerExportFormats.EditableRtfFormat |
//CrystalDecisions.Shared.ViewerExportFormats.ExcelRecordFormat |
//CrystalDecisions.Shared.ViewerExportFormats.RtfFormat |
//CrystalDecisions.Shared.ViewerExportFormats.WordFormat |
CrystalDecisions.Shared.ViewerExportFormats.XmlFormat |
CrystalDecisions.Shared.ViewerExportFormats.ExcelFormat |
//CrystalDecisions.Shared.ViewerExportFormats.AllFormats |
CrystalDecisions.Shared.ViewerExportFormats.ExcelRecordFormat);
//CrystalDecisions.Shared.ViewerExportFormats.NoFormat); //不允许出口
//int myFOpts =(int)(CrystalDecisions.Shared.ViewerExportFormats.AllFormats);
CrystalReportViewer1.AllowedExportFormats = myFOpts;
CrystalReportViewer1.ID =" ReportUsageDetailByArea";
CrystalReportViewer1.ReportSource =会话[" rd"];
CrystalReportViewer1.EnableParameterPrompt = true;
CrystalReportViewer1.HasToggleParameterPanelButton = true;
}
销售人员会向您出售一个案例以寻求支持,只需问问他们。 如果您与之交谈的人不知道告诉他们去询问,那么只有一个案例而无需支持合同。
祝你好运
Don
Don,正如我在原始帖子中所说,我尝试如下设置属性" ID":-
crViewer.ID =" Report_" +格式(现在是" yyyyMMdd_HHmm")
存在的问题:-将ID更改为其他名称后,Crystal Report Viewer不再起作用,工具栏崩溃。 为什么? 因为工具栏(用JAVA编写)无法再引用Crystal Report Viewer控件的ID,因为您已在运行时对其进行了更改!
可惜您没有阅读我的原始帖子。 是的,这是一个错误,因为文件名绝不能取自内部控制类名称! 它应取自"报告标题"或类似内容。 我不能在2016年不崩溃Crystal Reports Viewer的情况下更改ID,并且事实是它们使用控件类名称作为文件名,我认为这是一个错误!
在支持事件中,这仅适用于服务器产品! 我给SAP打了电话,他们说您必须购买服务器产品才能创建SAP ONE帐户。 除非您拥有SAP ONE帐户,否则您将无法获得支持期限! 如果没有SAP ONE帐户,则仅通过购买服务器产品才能获得购买事件的机会。
您好,Nicholas,
有两种方法。 在"报告摘要"信息中设置"标题"名称,或者如果使用引擎打开报告,则可以在代码中执行以下操作:
//这将获得报告名称,并将导出名称设置为相同的名称,然后减去 扩展名
string outputFileName ="";
string MyRptName = rpt.FileName.ToString();
outputFileName = MyRptName.Substring(9,rpt.FileName .Length-9);
outputFileName = outputFileName.Substring(0,(outputFileName.Length-3))+" pdf";
尝试
{
如果(File.Exists(outputFileName))
{
File.Delete(outputFileName);
}
....
导出到磁盘
Don
一周热门 更多>