纯参加活动贴,虽然不是什么很牛的技术,但是毕竟是自己捉摸出来的,值得分享crystalReportViewer(报表查看器)+ReceiveCrystalReport.rpt(报表文件)+DataSet.xsd(数据集)1.crystalReportViewer 的ReportSource属性指定一个ReceiveCrystalReport.rpt文件
2.添加一个dataset.xsd文件,添加报表要显示的字段信息(一定要与数据库中一致)
3.打开ReceiveCrystalReport.rpt文件,在右边窗口DatabaseFields右键(Database EXpert) 
在左边窗口打开ProjectData>ADO.NET Datasets 选择一个DataSet,添加到右边,点确定,
再将其字段拖入打开的报表文件中即可        private void PrintReceiveOrder_Load(object sender, EventArgs e)
        {
            try
            {
                ReceiveCrystalReport rpt = new ReceiveCrystalReport();
                DataSet ds = new DataSet();
                string strConn = "Data Source=ITE-03;Initial Catalog=Test;User ID=sa;Password=123456";
                SqlConnection conn = new SqlConnection(strConn);
                SqlDataAdapter da = new SqlDataAdapter("Select id,pay_time,type,re from  test", conn);
                da.Fill(ds, "test");
                rpt.SetDataSource(ds.Tables["test"]);
                this.crystalReportViewer1.ReportSource = rpt;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        } 1.固定条数,调整节高或是写公式: 
在detail节按右键,Format     section...     
选择     New     Page     after,然后点击右边的公式按钮,输入:     
RecordNumber     mod         5=     0     
则会每五条记录翻页。 2.换行显示
选中有一个字段 右键 Fromat Object  勾选 Can Grow 即可 3设置主副表报关联显示选择子报表 
点右键   选择   change   subreport   links 
 选择关联字段即可