.NET

在WinForm项目中使用FastReport.Net(三、绑定

2017-10-12  本文已影响252人  AiDede

上节我们实现了预览和设计的窗体,也可以预览和设计我们的报表了,但是我们还是没有数据的交互,这次我们来创建一个数据库,然后将数据绑定到我们的报表中

数据库准备

CREATE TABLE [dbo].[T_students]
(
    [Id] INT NOT NULL PRIMARY KEY IDENTITY, 
    [no] NCHAR(50) NULL, 
    [name] NCHAR(50) NULL, 
    [school] NCHAR(50) NULL, 
    [class] NCHAR(50) NULL
)
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=I:\dotNET\ReportDemo\ReportDemo\APP_DATA\Database.mdf;Integrated Security=True

设计器数据获取

 private DataSet getData(){
            String connStr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=I:\dotNET\ReportDemo\ReportDemo\APP_DATA\Database.mdf;Integrated Security=True";
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();
            String sqlStr = "SELECT * FROM T_students";
            SqlCommand comm = new SqlCommand();
            comm.CommandText = sqlStr;
            comm.CommandType = CommandType.Text;
            comm.Connection = conn; 
            DataSet ds = new DataSet();
            SqlDataAdapter adapter = new SqlDataAdapter(comm);
            adapter.Fill(ds, "学生信息");
            conn.Close();
            return ds;
        }
private void DesignForm_Load(object sender, EventArgs e)
        {
            dReport = new Report();
            String reportFile = "Report/report.frx";
            dReport.Load(reportFile);
            this.designerControl1.Report = dReport; //这里不一样的是把Report赋给控件的属性
            DataSet ds = new DataSet();
            ds = getData();
            dReport.RegisterData(ds, "学生信息");
            dReport.Prepare();
            dReport.Design(); 
        }

为Preview绑定数据

 private void PreviewForm_Load(object sender, EventArgs e)
        {
            pReport = new Report();   //实例化一个Report报表
            String reportFile = "Report/report.frx";
            pReport.Load(reportFile);  //载入报表文件
            pReport.Preview = previewControl1; //设置报表的Preview控件(这里的previewControl1就是我们之前拖进去的那个)
            DataSet ds = new DataSet();
            ds = getData();
            pReport.RegisterData(ds,"学生信息");
            pReport.Prepare();   //准备
            pReport.ShowPrepared();  //显示
        }

由于我还没弄清楚报表里面的循环输出,所以只看到了一行数据,等我去研究研究。然后我们后面再说关于条件数据等
到这里FastReport的引入、加载、绑定都心里有数了!

上一篇下一篇

猜你喜欢

热点阅读