从CrystalReportViewer按钮将Crystal报表导出为PDF(使用Asp.net c#)

时间:2017-09-19 08:30:11

标签: c# asp.net crystal-reports export-to-pdf

我在C#中有一个ASP.net Web应用程序。

工具栏中的导出按钮和打印按钮无效。

当我点击打印/导出按钮时,会出现一个对话框,其中包含选择页面或选择格式的选项,然后单击导出按钮无文件下载或保存。

paramField.Name = "@GatePass";

paramDiscreteValue.Value = GPLabel.Text;
paramField.CurrentValues.Add(paramDiscreteValue);
paramFields.Add(paramField);
CrystalReportViewer1.ParameterFieldInfo = paramFields;
reportdocument.Load(Server.MapPath("DO_Report.rpt"));
reportdocument.SetDatabaseLogon("sa", "Admin1");

CrystalReportViewer1.ReportSource = reportdocument;
CrystalReportViewer1.DataBind();

我也尝试过exporttodisk代码,

reportdocument.ExportToDisk(ExportFormatType.Excel,"C:/Users/Administrator/Desktop/ashar.pdf");

但是这段代码只是导出了给定目的地的空白报告,我已经尝试过了 (ExportToHttpResponse)但没有找到解决方案, 请帮帮我 在此先感谢

2 个答案:

答案 0 :(得分:0)

尝试将其导出为内存流。另外我认为ReportDocument上有一个printToPrinter方法

答案 1 :(得分:0)

我在SAP网站上找到了这个。由于导出会回发,因此您必须保存会话信息:


var STORAGE_KEY = "my_bot_storage";

function onMessage(event) {

  let message = undefined;

  if (event && event.message) {
    message = event.message.argumentText;
  }

  var lock = LockService.getUserLock();

  var success = lock.tryLock(5000);

  if (!success) {
    console.warn('Could not obtain lock after 5 seconds.');
  }

  var userData = PropertiesService.getUserProperties().getProperty(STORAGE_KEY);

  botState = JSON.parse(userData);

  let bot = new Robot(botState);

  let response = bot.onMessage(message);

  var data = JSON.stringify(botState);

  PropertiesService.getUserProperties().setProperty(STORAGE_KEY, data);

  lock.releaseLock();

  return {
    "text": response
  }

}

function onAddToSpace(event) { // Does nothing }

function onRemoveFromSpace(event) { // Does nothing }

https://answers.sap.com/questions/6790184/reportdocumentsetdatabaselogon-not-working-on-dril.html