找回密码
 立即注册

QQ登录

只需一步,快速开始

pmway

中级会员

41

主题

140

帖子

945

积分

中级会员

积分
945

活字格认证

pmway
中级会员   /  发表于:2014-10-29 09:56  /   查看:6520  /  回复:8
想问下,新的控件怎么添加如:打印、Word、PDF、Excel等一些按钮呢?

8 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-10-29 10:31:00
沙发
回复 1楼pmway的帖子

定制方法可以参考本篇博客:
http://blog.gcpowertools.com.cn/ ... export-options.aspx

打印和导出,链接是 AR HTMLViewer 的前台接口信息:
http://helpcentral.componentone. ... p/AR8_HelpOnlineEN/
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-10-29 14:52:00
板凳

我这里看不到打印等我自己加的按钮, 请问下面有什么问题吗?

我这里看不到打印等我自己加的按钮, 请问下面有什么问题吗?

aspx: 中js代码:
window.onload = function() {
            GrapeCity.ActiveReports.Viewer.OnLoad("WebReportViewer", function() {
                viewer = GrapeCity.ActiveReports.Viewer.Attach("ReportViewer");
                viewer.setEventsHandler({
                    OnToolClick: function(e) {
                        if (e.Tool == "导出PDF") {
                            reportExport(&quotDF");
                            return false;
                        }
                        if (e.Tool == "导出Word") {
                            reportExport("WORD");
                            return false;
                        }
                        if (e.Tool == "导出Excel") {
                            reportExport("EXCEL");
                            return false;
                        }
                    }
                });
            });
cs代码
    rpt.DataSource = dataTable;

                rpt.Restart();



                //ReportViewer.EnableViewState = true;


                WebReportViewer.FlashViewerOptions.UseClientApi = true;
                WebReportViewer.FlashViewerOptions.ResourceLocale = "zh_CN";

                ToolButton pdfButton = Tool.CreateButton(DisplayControl_Tag.GetDisplayName(PmwayProfile.TenantId,"btnExport_Dena.PDF"));
                pdfButton.Caption = DisplayControl_Tag.GetDisplayName(PmwayProfile.TenantId,"btnExport_Dena.PDF");
                pdfButton.ToolTip = DisplayControl_Tag.GetDisplayName(PmwayProfile.TenantId,"btnExport_Dena.PDF");
                WebReportViewer.FlashViewerToolBar.Tools.Add(pdfButton);

           

                WebReportViewer.ClearCachedReport();
                WebReportViewer.Report = rpt;

                Report = rpt;
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-10-29 16:28:00
地板
回复 3楼pmway的帖子

请问您是要的浏览模式是什么?Flash 模式还是 HTML 模式?

如果是 HTMLViewer 可以直接下载 Demo 运行:
添加打印按钮:
http://blog.gcpowertools.com.cn/ ... ustomHtml_Print.zip
添加导出按钮:
http://blog.gcpowertools.com.cn/ ... ttons_Extended1.zip
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-10-29 17:02:00
5#
好的,谢谢,我们看看
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-10-29 17:04:00
6#
回复 5楼pmway的帖子

恩,不客气
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-10-30 11:12:00
7#
ASPX页面后台代码:

  1.   protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             SectionReport rpt = new SectionReport();
  4.             System.Xml.XmlTextReader xtr = new System.Xml.XmlTextReader(@"C:\Users\pmway\Desktop\新建文件夹\32.rpx");
  5.             rpt.LoadLayout(xtr);
  6.             xtr.Close();
  7.             WebViewer1.Report = rpt;
  8.             WebViewer1.ClearCachedReport();
  9.             WebViewer1.Report = rpt;
  10.             if (Request["Task"] != null)
  11.             {
  12.                 if (Request["Task"].ToString().Contains("Print"))
  13.                 {
  14.                     try
  15.                     {
  16.                         rpt.Restart();
  17.                     }
  18.                     catch (Exception eRunReport)
  19.                     {
  20.                         //If the report fails to run, report the error to the user
  21.                         Response.Clear();
  22.                         Response.Write("<h1>Error running report:</h1>");
  23.                         Response.Write(eRunReport.ToString());
  24.                         return;
  25.                     }
  26.                     //Buffer this page's output until the report output is ready.
  27.                     Response.Buffer = true;

  28.                     //Clear any part of this page that might have already been buffered for output.
  29.                     Response.ClearContent();

  30.                     //Clear any headers that might have already been buffered (such as the content
  31.                     //type for an HTML page)
  32.                     Response.ClearHeaders();

  33.                     //Tell the browser and the "network" that the resulting data of this page should
  34.                     //be cached since this could be a dynamic report that changes upon each request.
  35.                     Response.Cache.SetCacheability(HttpCacheability.NoCache);

  36.                     //Tell the browser this is an Html document so it will use an appropriate viewer.
  37.                     Response.ContentType = "text/html";

  38.                     //Create the HTML export object
  39.                     GrapeCity.ActiveReports.Export.Html.Section.HtmlExport htmlExport1 = new HtmlExport();

  40.                     //Export the report to HTML in this session's webcache
  41.                     MyCustomHtmlOutputter outputter = new MyCustomHtmlOutputter(this.Context);
  42.                     //String filePath = @"E:\demo\CustomHtml_Print\CustomHtml\ReportOutput" +
  43.                     //                  Guid.NewGuid().ToString("N") + ".pdf";
  44.                     //FileStream fs =
  45.                     //    File.Create(filePath);

  46.                     htmlExport1.Export(rpt.Document, outputter, "");
  47.                     Response.Redirect("ReportOutput" + "/" + System.IO.Path.GetFileName(outputter.mainPage));
  48.                 }
  49.             }
  50.         }

复制代码



ASPX页面前台代码:

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="CustomHtml.WebForm1" %>

  2. <%@ Register Assembly="GrapeCity.ActiveReports.Web.v8, Version=8.1.414.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff" Namespace="GrapeCity.ActiveReports.Web" TagPrefix="ActiveReportsWeb" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head runat="server">
  6.     <title></title>
  7.     <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js">
  8.    
  9.     </script>
  10.     <script type="text/javascript" language="javascript">
  11.         $(document).ready(function fn() {
  12.             $(".arvToolBar").append("<span><input id='btnPrint' type='Button' value='Print' onclick='print()'/></span>");
  13.         });

  14.         function print() {
  15.             w = window.open("WebForm1.aspx?Task=Print");
  16.             w.focus();
  17.             $(w.document).ready(function () {
  18.                 window.setTimeout("w.print()", 2000);
  19.             });
  20.         };

  21.     </script>
  22. </head>
  23. <body>
  24.     <form id="form1" runat="server">
  25.         <ActiveReportsWeb:WebViewer ID="WebViewer1" runat="server" Height="300px" Width="300px"></ActiveReportsWeb:WebViewer>
  26.     </form>
  27.     </body>
  28. </html>
复制代码
回复 使用道具 举报
pmway
中级会员   /  发表于:2014-10-30 11:32:00
8#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-10-30 15:30:00
9#
回复 8楼pmway的帖子

您好,

附件是我使用 AR8.0 重新制作的 Demo,请下载测试:


请注意在你的项目里是否创建了 ReportOutput 这个文件夹。

谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部