您的位置:首页 > 其它

水晶报表在vs2010 WPF环境下的尝试

2014-11-04 16:52 106 查看
原文:水晶报表在vs2010 WPF环境下的尝试

由于VS2010没有集成水晶报表组件,尝试前必须先安装 水晶报表 for VS2010,若机器未安装的可点击这里>>>下载安装

新建一个WPF应用程序项目,此时我们先修改一个项目属性,右击项目名->属性,“目标框架”务必改成".Net
Framework4"(默认是".Net Framework 4 Client Profile"),否则会报错。

打开窗体设计器后,工具栏并未出现CrystalReportViewer控件,所以我们必须先手动添加这些控件,可在工具栏新建一选项卡,然后右击,“选择项”,如图示


WPF环境下的尝试">

筛选出SAPBusinessObjects的组件勾选后添加到工具箱,此时我们新建的选项卡便出现了CrystalReportViewer控件,我在MainWindow窗体放置了一个按钮btnReport和crystalReportViewer控件

接下来我们为水晶报表准备数据源,在项目添加一个数据集DataSet1.xsd,添加一个数据表DataTable1,我在DataTable1添加两列(String型与Int32型),数据源准备好了,在项目添加水晶报表RPT文件,将DataSet1设为其数据源,如图示


WPF环境下的尝试">

水晶报表for VS2010比之前vs内置的水晶报表多了一些特性,比如在设计模板,对象就多了一个格式刷功能,如图示


WPF环境下的尝试">

它可以将指定对象的格式应用到其他对象,只需在指定对象先获取其格式刷,然后将鼠标移到其他对象上时,鼠标形状会自动变成一个刷子形状,单击一下,该对象便与指定对象的格式完全一致,非常便利。这只是其中之一,还有其他一些特性待我们好好研究

模板设计好了,接下来进入代码

[csharp] view plaincopyprint?

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Shapes;

namespace WpfApplication1

{

///

/// MainWindow.xaml 的交互逻辑

///

public partial class MainWindow : Window

{

///

/// 水晶报表“骨架”

///

DataSet1 myDataSet = new DataSet1( );

public MainWindow( )

{

InitializeComponent( );

}

protected override void OnInitialized( EventArgs e )

{

base.OnInitialized( e );

//往数据集塞数据

myDataSet.DataTable1.AddDataTable1Row( "Luols" , 1 );

myDataSet.DataTable1.AddDataTable1Row( "Luols" , 2 );

myDataSet.DataTable1.AddDataTable1Row( "Luols" , 3 );

}

///

/// 报表预览

///

///

///

private void btnReport_Click( object sender , RoutedEventArgs e )

{

CrystalReport1 myReport = new CrystalReport1( );

myReport.SetDataSource( myDataSet );

//这里与之前版本有区别

//之前是 crystalReportsViewer1.ReportSource = myReport

crystalReportsViewer1.ViewerCore.ReportSource = myReport;

}

}

}

点击运行,呀!报错了,如图示


WPF环境下的尝试">

解决方案可参考我之前写的这篇:http://blog.csdn.net/luols/article/details/6047962

处理后再点击运行,好了,运行效果如下


WPF环境下的尝试" title="水晶报表在vs2010 WPF环境下的尝试">

更多水晶报表知识:http://blog.csdn.net/luols/article/category/690640
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: