天天看點

【C#】報表制作<機房重構>前言報表制作代碼總結

前言

        和VB需要引用其他報表軟體不同,VS自帶報表設計的功能,初次嘗試,就感受到了它的強大之處。

報表制作

        話不多說,直接報表的制作過程。

1、首先,我們要先制作一個報表的容器。放到我們顯示報表的窗體上。

【C#】報表制作<機房重構>前言報表制作代碼總結

2、然後,添加一個報表。

【C#】報表制作<機房重構>前言報表制作代碼總結

3、報表添加完成後,我們會看到報表的相關資料。

【C#】報表制作<機房重構>前言報表制作代碼總結

4、依次添加好資料源和資料集,測試連接配接成功。

【C#】報表制作<機房重構>前言報表制作代碼總結

5、成功後如圖所示。添加要使用的參數。

【C#】報表制作<機房重構>前言報表制作代碼總結
【C#】報表制作<機房重構>前言報表制作代碼總結

6、然後我們就可以在報表工具箱裡添加自己所需要的東西,如,表,文本框等。這裡的表可以直接引用資料集中内容。點選表裡的那個小圖示即可。

【C#】報表制作<機房重構>前言報表制作代碼總結
【C#】報表制作<機房重構>前言報表制作代碼總結

7、最後,引用資料源資料集。

【C#】報表制作<機房重構>前言報表制作代碼總結

        好了,對于一些基本配置到這裡就做好了。接下來是代碼。

代碼

private void btnInquire_Click(object sender, EventArgs e)
{
    string BeginDate = dtpBegin.Text.Trim();
    string EndDate = dtpEnd.Text.Trim();
    Facade.Facade faca = new Facade.Facade();
    DataTable table = faca.InqCheckInfo(BeginDate, EndDate);
    ReportDataSource rptDataSource = new ReportDataSource();
    ReportParameter[] Params = 
    {
        new ReportParameter("ID",Entity.Model.user),
        new ReportParameter("CheckDate",DateTime.Now.ToShortDateString())
    };
    rptDataSource.Name = "DataSetCheckReport";//指定資料集名
    rptDataSource.Value = table;//資料源名稱
    reportViewer.LocalReport.ReportEmbeddedResource = "UI.CheckReport.rdlc";//報表檔案名
    reportViewer.LocalReport.DataSources.Clear();//清空存在報表
    reportViewer.LocalReport.DataSources.Add(rptDataSource);//添加資料源
    reportViewer.LocalReport.SetParameters(Params);//傳遞參數
    reportViewer.RefreshReport();//重新整理報表控件
}
           

        和D層的代碼差不多,就是先傳入參數,然後進行執行,執行步驟如上。

總結

        制作報表的過程中,如果說遇到的難點,就不得不說參數傳入時候出現的問題,這個問題大多出在命名上,右鍵參數,設定屬性,隻要細心一點,讓變量的名字不出差錯,報表應該會正常顯示出來的。

       完成了報表後,有一個很大的感慨就是,如果你在制作過程中随意的點點,就會發現它的強大之處不僅僅是可以顯示資料,還有好多功能,對使用者相當友好。感覺自己不僅在技術上有太多的進步空間,在界面友好方面,需要學習的就有太多太多了。是以說,會做軟體不重要,重要的是做的軟體有多少人喜歡用。