zoukankan      html  css  js  c++  java
  • Visual Studio 2010 Crystal Report 子报表 提示 您请求的报表需要更多信息 解决方案

    【提示】您请求的报表需要更多信息 的解决方案?

    我是以PUSH模式做水晶报表的,不知道为什么,我浏览报表网页时,总是以PULL模式提示要数据库登录信息!(您请求的报表需要更多信息

    后来我发现一个问题,在仅有一个报表的时候,只不会出现这样的问题的。只有在有一个或多个子报表的时候,才会出现这样的问题...

    根据MSDN说明,无论是子报表还是父报表,一个报表对应一个数据集,就不会在PUSH模式下出现PULL模式的问题...

    因有子报表,所以我在给子报表加上数据源后就不会出现这种问题了

    子报表可以增加和主报表的链接加以筛选数据!


     如何进行绑定,请参照以下范例:

    Web.config Access数据文件连接格式如下:

    1 <connectionStrings>
    2     <add name="AccessConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\案例\CrystalReportsWebSite\App_Data\test.mdb;Persist Security Info=True" providerName="System.Data.OleDb"/>
    3   </connectionStrings>

    Default.aspx前置文件报表内容如下:

     1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
     2 <%@ Register TagPrefix="CR" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
     3 <html xmlns="http://www.w3.org/1999/xhtml">
     4 <head runat="server">
     5     <title>报表示例</title>
     6 </head>
     7 <body>
     8     <form id="form1" runat="server">
     9     <div>
    10         <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="True" Height="1039px"
    11             ReportSourceID="CrystalReportSource1" Width="901px" />
    12         <CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
    13         </CR:CrystalReportSource>
    14     </div>
    15     </form>
    16 </body>
    17 </html>

    Default.aspx.cs后置文件报表内容如下:

     1 using System;
     2 using System.Configuration;
     3 using System.Data.OleDb;
     4 
     5 
     6 public partial class _Default : System.Web.UI.Page
     7 {
     8     protected void Page_Load(object sender, EventArgs e)
     9     {
    10         if (!IsPostBack)
    11         {
    12             Loading();
    13         }
    14     }
    15 
    16     /// <summary>
    17     /// 加载水晶报表
    18     /// </summary>
    19     private void Loading()
    20     {
    21         //设置数据源信息
    22         string connectionString = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString;
    23         OleDbConnection con = new OleDbConnection(connectionString);
    24         OleDbCommand cmd = con.CreateCommand();
    25         cmd.Connection = con;
    26 
    27         //填充数据
    28         OleDbDataAdapter da = new OleDbDataAdapter(cmd);
    29         DataSet1 ds = new DataSet1();
    30         DataSet1 ds1 = new DataSet1();
    31 
    32         cmd.CommandText = "SELECT EmployeeId1 as EmployeeId,EmployeeName1 as EmployeeName From Employee1";
    33         da.Fill(ds, "Employee");
    34 
    35         cmd.CommandText = "SELECT ProductId1 as ProductId,ProductName1 as ProductName,Price1 as Price From Product1";
    36         da.Fill(ds, "Product");
    37 
    38         cmd.CommandText = "SELECT EmployeeId1 as EmployeeId,ProductId1 as ProductId,SalesDate1 as SalesDate,Num1 as Num From Sales1";
    39         da.Fill(ds, "Sales");
    40 
    41         cmd.CommandText = "SELECT EmployeeId1 as EmployeeId,HisDogName1 as HisDog From forSubReport1";
    42         da.Fill(ds1, "forSubReport");
    43 
    44         //加载水晶报表
    45         CrystalReportSource1.Report.FileName = Server.MapPath("~/app_data/CrystalReport.rpt");//报表路径
    46         CrystalReportSource1.ReportDocument.Load(CrystalReportSource1.Report.FileName);//加载报表
    47         //绑定数据集,注意,一个报表只能绑定一个数据集
    48         CrystalReportSource1.ReportDocument.SetDataSource(ds);//主报表数据源
    49         CrystalReportSource1.ReportDocument.Subreports["我们的子报表"].SetDataSource(ds1);//子报表数据源
    50         CrystalReportSource1.DataBind();//绑定
    51         CrystalReportViewer1.ReportSource = CrystalReportSource1;//指定数据源
    52         CrystalReportViewer1.DataBind();//工具条数据绑定!!
    53     }
    54 }

    更多详情请参考以下:

    Crystal Report 制作使用http://www.cnblogs.com/illele/archive/2007/09/22/902500.html

    关于PUSH和PULL解释:http://www.cnblogs.com/host-2008/archive/2012/04/01/2428243.html


    转载的朋友,请不要删除以下行,对此,表示感谢!!!

    原文链接:http://www.cnblogs.com/VAllen/archive/2012/08/23/CrystalReportLoading.html

  • 相关阅读:
    机器学习决策树
    Apriori算法实战福彩双色球
    机器学习Random Forest算法简介
    机器学习CART决策树
    基本算法求最大子数组和 及其变种
    【语言处理与Python】3.6规范化文本
    【语言处理与Python】3.3使用Unicode进行文字处理
    【语言处理与Python】3.2字符串:最底层的文本处理
    【语言处理与Python】4.1回到基础
    【语言处理与Python】3.7用正则表达式为文本分词
  • 原文地址:https://www.cnblogs.com/VAllen/p/CrystalReportLoading.html
Copyright © 2011-2022 走看看