zoukankan      html  css  js  c++  java
  • 水晶报表相关

    服务器部署水晶报表的一些资料:

    http://www.cnblogs.com/babyt/archive/2008/02/19/1073688.html

    http://www.cnblogs.com/babyt/archive/2008/11/20/1337181.html

    http://www.cnblogs.com/babyt/category/120552.html

    Crystal Reports v. 9.1 to 12.x VS .NET Runtime Distribution & Supported Operating Systems:

    .net环境下,水晶报表从9.112.x的组件列表。

    http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=56787567

     

     

    水晶报表格式。

    a4纸张.字体9.或10.默认边缘.字段多。可以横打.

    具体步骤

    1.建立xsd.(可以用unbound filed 来建立一些其他字段.这样就方便了)

    2.建立rpt文件.拖进字段来布局报表.

    3.防入aspx中。写代码

     

    代码贴出一个.纪录下。

     

    aspx:

    <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="false" Width="96%" OnNavigate="changepage"/>

     

    cs:

     

    namespace lanvin
    {
        //这里后期要判断,页是否大于最大.如果是,要附加到session中.
        public partial class customer_showrp : System.Web.UI.Page
        {
            BLL.comm bllcomm = new BLL.comm();
            public DataSet ds = new DataSet();
            public DataTable dt = new DataTable();
            public int pagesize = 25;
            public int maxpage = 500;

            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    string intfrom = Request.QueryString["intfrom"];
                    string intto = Request.QueryString["intto"];
                    string fromm = Request.QueryString["fromm"];
                    string tomm = Request.QueryString["tomm"];
                    string fromvip = Request.QueryString["fromvip"];
                    string tovip = Request.QueryString["tovip"];

                    string checkboxlist = Request.QueryString["checkboxlist"];
                    if (checkboxlist != "")
                    {
                        checkboxlist = checkboxlist.Replace(",", "','");
                        checkboxlist = "'" + checkboxlist + "'";
                    }

                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    sb.Append(" where ");
                    if (checkboxlist != "") sb.Append(" ([shop no] in (" + checkboxlist + ")) and ");
                    if (intfrom != "") sb.Append(" ([date]>='" + intfrom + "') and ");
                    if (intto != "") sb.Append(" ([date]<='" + intto + "') and ");

                    if (fromm != "" && tomm != "") sb.Append("([member number]>='" + fromm + "' and [member number]<='" + tomm + "') and ");
                    else if (fromm != "" && tomm == "") sb.Append("([member number]='" + fromm + "') and ");
                    if (fromvip != "" && tovip != "") sb.Append("([vip number]>='" + fromvip + "' and [vip number]<='" + tovip + "') and ");
                    else if (fromvip != "" && tovip == "") sb.Append("([vip number]='" + fromvip + "') and ");
                    sb.Append(" (1=1) ");

                    ViewState["where"] = sb.ToString();

                    ReportDocument rptDocu = new ReportDocument();
                    rptDocu.Load(Server.MapPath("demo.rpt"));
                    rptDocu.SetDatabaseLogon("sa", "sa");

                    string sqllast = "select top "+pagesize*maxpage+" * from v_report_SH " + (ViewState["where"] == null ? "where (1=3)" : ViewState["where"].ToString() + " order by [date] desc,[member number]");
                    Trace.Write(sqllast);
                    try
                    {
                        dt = bllcomm.simplesqlexcuteAccpac(sqllast);
                    }
                    catch
                    {
                        //throw;
                        Function.JScript.Alert("timeout or other error!try again!", this.Page);
                        dt = new DataTable();
                    }

                    ds.Tables.Add(dt);
                    ds.Tables[0].TableName = "v_report_SH";

                    Session["myds"] = ds;

                    rptDocu.SetDataSource(ds);
                    this.CrystalReportViewer1.DisplayGroupTree = false;
                    this.CrystalReportViewer1.ReportSource = rptDocu;
                }
                else
                {
                    sureds();
                }
            }

            public void changepage(object sender, CrystalDecisions.Web.NavigateEventArgs e)
            {
                sureds();
            }

            private void sureds()
            {
                ReportDocument rptDocu = new ReportDocument();
                rptDocu.Load(Server.MapPath("demo.rpt"));
                rptDocu.SetDatabaseLogon("sa", "sa");

                if (Session["myds"] != null)
                {
                    ds = (DataSet)Session["myds"];
                }
                else
                {
                    if (ViewState["where"] != null)
                    {
                        string sqllast = "select top "+pagesize*maxpage+" * from v_report_SH " + (ViewState["where"] == null ? "where (1=3)" : ViewState["where"].ToString() + " order by [date] desc,[member number]");
                        try
                        {
                            dt = bllcomm.simplesqlexcuteAccpac(sqllast);
                            ds.Tables.Add(dt);
                        }
                        catch
                        {
                            //throw;
                            Function.JScript.Alert("timeout or other error!try again!", this.Page);
                            dt = new DataTable();
                            ds.Tables.Add(dt);
                        }
                    }
                }
                rptDocu.SetDataSource(ds);
                this.CrystalReportViewer1.DisplayGroupTree = false;
                this.CrystalReportViewer1.ReportSource = rptDocu;
            }
        }
    }

  • 相关阅读:
    深入正则表达式(0):正则表达式概述
    讲透学烂二叉树(二):图中树的定义&各类型树的特征分析
    讲透学烂二叉树(一):图的概念和定义—各种属性特征浅析
    Gzip之后继者Brotli浅析之CDN厂商的智能压缩,服务器Brotli设置
    ECMAScript进化史(1):​话说Web脚本语言王者JavaScript的加冕历史
    nginx网站限速限流配置——网站被频繁攻击,nginx上的设置limit_req和limit_conn
    linux添加用户,修改用户密码,修改用户权限,设置root用户操作
    nginx 限制ip访问,禁止非法域名指向本机ip——防止被别人绑定域名到自己IP的方法
    centos8 新增ssh自定义端口与屏蔽默认22端口。
    1g云主机升级centos8不满足centos 8 至少2g内存要求,linux虚拟内存来凑
  • 原文地址:https://www.cnblogs.com/lsfv/p/1674160.html
Copyright © 2011-2022 走看看