以下是我的项目
1.。在项目WindowsApplication2中使用数据源配置向导连接access数据库northwind,生成northwindDataSet.xsd.
2。从数据源中将客户拖到窗体中,在窗体中加入crystalReportViewer控件,
3。新建crystal报表customerRPT,数据使用  项目数据--ado.net数据集--northwindDataSet--客户
4。form中
    public partial class Form1 : Form
    {        private customerRPT customerRPT1;        public Form1()
        {
            InitializeComponent();
        }        private void 客户BindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.客户BindingSource.EndEdit();
            this.客户TableAdapter.Update(this.northwindDataSet.客户);        }        private void Form1_Load(object sender, EventArgs e)
        {
             this.客户TableAdapter.Fill(this.northwindDataSet.客户);
            
            customerRPT1=new WindowsApplication2.customerRPT();
            this.crystalReportViewer.ReportSource = this.customerRPT1;        }
    }
5。加入
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;运行后大DataGridView中可以显示数据,无法在crystalReportViewer控件上显示数据,请问如何解决??非常感谢

解决方案 »

  1.   

    使用水晶报表的方法:
    我是这样处理的:
    1、建立本地的数据集
    2、根据本地的数据集建立水晶报表
    3、提出数据,填充到本地的数据集实例中。
    4、加载水晶报表实例,设置数据源,显示出来,完成。
    reportcry s = new reportcry ();
    s.setdatasource(dt);
      

  2.   

    我知道要填充数据集,所以我在this.客户TableAdapter.Fill(this.northwindDataSet.客户);后才建立报表实例,并关联crystalReportViewer控件,但是为什末报表不能显示呢???
      

  3.   

    1//如何把DataSet設為CrystalReport的資料來源
     2private void ViewReportFromDataSet()
     3...{
     4  //建立一個你的報表物件
     5  YourReportType crReport = new YourReportType();
     6  
     7  //取得你的DataSet
     8  DataSet dsTemp = GetDataSetFactory.ProduceYourDataSet();
     9  
    10  //設定資料來源
    11  MyPathReport.SetDataSource(dsTemp);
    12
    13  //設定報表參數(如果你有參數要傳進去的話)
    14
    15  //建立一個報表參數
    16  CrystalDecisions.Shared.ParameterDiscreteValue MyPara = 
    17    new CrystalDecisions.Shared.ParameterDiscreteValue();
    18  
    19  //宣報一個參數集物件
    20  CrystalDecisions.Shared.ParameterValues MyValues;
    21
    22  //設定參數值
    23  MyPara.Value = "YourParamaterValue";
    24
    25  //取得你要設定的參數集物件
    26  MyValues = crReport.DataDefinition.
    27    ParameterFields["ParaName"].CurrentValues;
    28  
    29  //將參數加入
    30  MyValues.Add(MyPara);
    31
    32  //將參數集設定回你要設定的參數
    33  crReport.DataDefinition.
    34    ParameterFields["ParaName"].ApplyCurrentValues(MyValues);
    35
    36  //設定Viewer的 報表來源
    37  CrystalReportViewer1.ReportSource = MyPathReport;
    38}
      

  4.   

    问题解决了
    在customerRPT1=new WindowsApplication2.customerRPT();后面应加上
    customerRPT1.SetDataSource(northwindDataSet);
    零下一度的也对,如果不传参数13--35行可以去掉,非常感谢帮忙