1. 程式人生 > >2018/5/14~2018/5/18 周記

2018/5/14~2018/5/18 周記

SQ C# win winform 類庫 ati created bject 過去

Fastreport是一個強大的報表控件,使用起來也很方便,有點類似於VS裏面winform的工具箱,都是直接拉控鍵到界面上,雙擊控鍵,輸入你想顯示在頁面的值。

首先是創建新的數據源,有兩種方式連接數據源,一種是連接到數據庫上,關聯數據庫的表,這樣就可以直接調用數據庫表裏面的數據。還有一個是連接一個空的數據庫,在輸入創建表的SQL語句,創建一個新的表,右擊表,增加新的列,在練習使用Fastreport過程,遇到了一個很奇葩的問題。在列的屬性裏面有一個Calculate,當把它設置成false時,我預覽就會報下面的錯:

技術分享圖片

但是另一個項目裏面我把Calculated設置false就沒有報錯,可以預覽。一直搞不懂這到底是為什麽。。

還有一個就是如何刪除掉Fastreport裏面那些表。找了很久一直找不到刪除這些表的方法。。

技術分享圖片

如何在C#中引用Fastreport的報表呢??

首先在要引用Fastreport,這樣才能使用Fastreport的方法。代碼如下所示:

        private void button3_Click(object sender, EventArgs e)
        {
            string reportName = "Model.frx";
            string path = Application.StartupPath + "
\\" + "Model.frx"; FastReport.Report fr = new FastReport.Report(); if (File.Exists(path)==true) { fr.Load(reportName);//加載回執單表 DataTable dataTable = new DataTable(); SetModelInfo(); //創建一張信息表 CreateDataTable(dataTable, modelQr); fr.RegisterData(dataTable,
"tt"); //fr.PrintSettings.ShowDialog = true; //fr.Print(); if (fr.Prepare()) fr.ShowPrepared(); }

frx文件一定要放在該類庫的bin文件下的debug裏面。不然讀取不到。

Fastreport裏面創建的表裏面的列名要和在C#代碼裏面字段Model的屬性字段一樣,這樣在打印報表時候才能把數據傳過去。

技術分享圖片技術分享圖片

效果如下所示:

技術分享圖片

生成的二維碼,因為有之前的 項目在,所以我只是一直在copy代碼而已,雖然還不懂二維碼到底是怎麽生成的,但是起碼以後有碰到的話可以弄得出來一個二維碼。

2018/5/14~2018/5/18 周記