• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#下水晶报表的数据动态绑定(推模式,非关联数据库)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

因为项目的中的数据是来源于网络, 而不是数据库, 所有的table 都是动态创建的, 因此使用报表时也需要动态创建.

具体示例如下:

1.  MainForm 下 Data的 获取:

        public DataTable table = new DataTable("myTable");

        // 创建数据表资料
        public void CreateDataTable()
        {
            table.Columns.Clear();

            DataColumn column = new DataColumn("userName", Type.GetType("System.String"));
            column.Caption = column.ColumnName;
            table.Columns.Add(column);

            table.Rows.Clear();
            for (int i = 0; i < 8; i++)
            {
                DataRow newRow = table.NewRow();
                newRow[1] = "Name " + i.ToString();
                table.Rows.Add(newRow);
            }
        }

2 显示报表窗体:

   调用的是带1个参数的 报表窗体的构造函数:
// 显示水晶报表  
private void btnCrystalReport_Click(object sender, EventArgs e)  
{  
    FormCrystal frmreport = new FormCrystal(table);  
 
    frmreport.Text = "水晶报表示例";  
    frmreport.WindowState = FormWindowState.Maximized;      
     
    frmreport.ShowDialog();  
    frmreport.Dispose();  
}  
     

3. 报表窗体的构造函数(带1个参数):

        public FormCrystal(DataTable table)
        {
            InitializeComponent();
            ReportDocument doc = new ReportDocument();           
            string rptname= @"D:\C#.Projects\CSProjects\csReportExam\CrystalReport1.rpt"; // 设计的报表
            doc.Load(rptname);
            doc.SetDataSource(table); // 设置数据源
              this.crystalReportViewer1.ReportSource = doc;  // 加载报表
          
        }

4. 水晶报表的设计:

(1).  报表窗体上放置一 CrystalReportViewer 控件,  并创建 一个报表: CrystalReport1.rpt;

(2).  应用程序项目添加新项目:  数据 -- 数据集 , 保存为 DataSet1.Xsd;

(3). 在数据集视图下, 添加 Table , 此时主要名字一定要和 传递过来的表名一致, 命名为 myTable; 按照 myTable 中的 Column 添加列, 这里只有一个: userName, 命名也要保持一致.(这里很关键, 否则报表中就不能显示出数据.)

(4). 在报表设计视图下, 打开"数据库专家",  选 "项目数据" -- "ADO.NET 数据集" , 将表加入到"选定的表"中, 再回到视图下就可以把需要在报表显示的列(字段)拖动 报表中的"详细字段"中.

这样就实现了一个基本的水晶报表动态的数据绑定.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中配置文件的使用发布时间:2022-07-10
下一篇:
c#中serialPort1_DataReceived串口接收事件处理发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap