65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 ASP.NET 的 Crystal Reports PUSH 方法

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.61/5 (55投票s)

2003 年 3 月 22 日

2分钟阅读

viewsIcon

572026

本文档解释了如何使用 PUSH 方法来绘制报表。

引言

本文档解释了如何使用 PUSH 方法来绘制报表。它还将解释如何在 ASP.NET 页面中使用用户 DataSet 来生成报表。 绘制报表有两种方法:

  1. PULL 方法 - Crystal Report 连接到数据库,获取字段数据并绘制报表。
  2. PUSH 方法 - 我们创建 DataSet,选择 DataSet 的字段作为报表字段,然后将其推送到 Crystal Report。 在这里,我将只解释 PUSH 方法。

步骤

  1. 创建一个新的 ASP.NET 项目。

    Sample screenshot

  2. 插入一个新的项目项作为 DataSet

    Sample screenshot

  3. 将您希望在报表中显示的元素添加到 DataSet 中。 *保存所有*,然后右键单击解决方案资源管理器中的 DataSet 文件名,并选择“生成并浏览”命令。
  4. 然后,将一个新的项目项添加到项目中,作为“Crystal Report”,并插入一个空白报表。
  5. 在服务器资源管理器中,右键单击数据库字段并选择数据库专家,展开项目数据,并在表选择器中选择 DataSet,然后按确定。

    Sample screenshot

  6. 然后,将服务器资源管理器中的数据库字段拖动到报表的详细部分。 按照您想要的方式排列字段。

    从工具箱中,将 Crystal Report 查看器控件添加到页面。 这将添加此变量

    protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
  7. 填充 DataSet。 设置报表的 DataSourceCrystalReportViewer 报表源。
    private void Page_Load(object sender, System.EventArgs e)
    {
    CrystalReport1 report=new CrystalReport1();
    CrystalReportViewer1.Visible=true;
    DataSet ds=new DataSet("Account");//give same name as on 
    
    //dataset1 table header
    
    DataTable table=new DataTable("Account");//give same name as on 
    
    //dataset1 table header 
    
    table.Columns.Add("Fname",typeof(System.String));
    table.Columns.Add("Lname",typeof(System.String));
    table.Columns.Add("Salary",typeof(System.String)); 
    DataRow row=table.NewRow();
    row["Fname"]="Mathew";
    row["Lname"]="Hayden";
    row["Salary"]="5000$";
    // add to table
    
    table.Rows.Add(row);
    ds.Tables.Add(table);
    // set report's dataset
    
    report.SetDataSource(ds);
    // set report source
    
    CrystalReportViewer1.ReportSource =report;
    }

    输出如下...

    Sample screenshot

需要注意的事项

  1. Dataset 和插入的 DataSet 的表元素名称上使用相同的名称。
  2. 修改 DataSet 后,再次生成它,并断开报表中的当前连接。 再次设置 DataSource 位置,指向新的 DataSet,否则报表的数据库字段将无法获取更改。
  3. 可以避免设置报表查看器的 DataBind 属性。 可以在运行时完成。
© . All rights reserved.