本節我們將用一個實例來介紹下一個Label的設計過程,因為Server端與之前的一樣,因此只在這裏介紹Client的設計步驟,如下的說明:

 

q  Client端設計

Step1Solution1中,增加一個新Project(從範CReport1),命名為cLabel。可以從Solution ‘Solution1’ EEPClient目錄上面按下滑鼠右鍵,然後選擇Add->New Project..,出現如圖的視窗選擇範本CReport1Location程式路徑請選擇C:\Program Files\InfoLight\EEP2010\MyProject即可。(ServerClient的程式都放在同一個目錄之下)。

6-3-1 新建ClientProject

Step2用滑鼠雙按cLabel下面的Form1.cs,打開Form1.cs[Design]

6-3-2 打開Form1.cs[Design]

 

Step3按一下MasterInfoDataSet)的RemoteName屬性右邊的打開RemoteName視窗。然後在DataModule選中剛才sReport1,在DBCommand裏選擇MasterMasterServersReport1裏面的InfoCommand的名字),按下OK按鈕。

6-3-3 選中設定


Step4Master這個InfoDataSetActive屬性設為TrueAlwaysClose屬性設置成False,代表打開這個表單時此InfoDataSet是開啟的狀態。

6-3-4 設定Master屬性

 

Step5MasterInfoDataSe)按下滑鼠右鍵,選取右鍵功能表的Save To Report,產生sReport1_Master.xml檔案。(MasterServersReport1裏面的InfoCommand的名字)。

此目的是為了在RPT報表格式的設計模式中取得我們InfoDataSet的資料結構。

6-3-5 執行Save To Report

 

Step6回到Form1設計畫面中,用滑鼠按一下CrystalReportViewer1右上角的,再按下Create a New Crystal Report..,然後輸入報表名稱:CustomerReport,再按下OK


6-3-6 新建與輸入報表名稱

Step7稍等2秒,會出現如下的畫面,選擇From an Existing Report,按下OK

6-3-7選擇報表類型

 

Step8選擇EEP2010安裝目錄下EEPNetReport目錄裏面的RLabel.rpt檔案,最後按下開啟(O)

6-3-8開啟RLabel.rpt檔案

Step9滑鼠左鍵連按兩下CustomerLabel.rpt,打開CrystalReport設計器。

 

Step10用滑鼠左鍵按一下CrystalReport設計器的Field Explorer」頁籤,然後在Database Fields上按滑鼠右鍵,在右鍵功能表中選擇Database Expert…按下滑鼠左鍵。

 

6-3-9開啟Database Expert

 

Step11按一下Create New Connection前的+號展開檔案夾,然後再按一下ADO.NET前的+號,會彈出ADO.NET視窗,然後選擇Infolight/EEP2010/EEPNetReport/下的sReport1_Master.xml檔案。(來自「Save To Report」功能)按一下開啟(O)按鈕。最後在ADO.NET視窗中按一下完成按鈕。


6-3-10開啟sReport1_Master.xml檔案

 

Step12Available Data Source格子裏選中Master,然後按一下按鈕,把Master增加到Selected tables格子裏面,按一下確定按鈕。

6-3-11添加Master

 

Step13Field Explorer先按一下Database Fields前的+號,再按一下Master前的+號。最後在展開的Master中選中所需的欄位按下滑鼠左鍵不放,把所需要的欄位拖到CrystalReport設計器的Details的方框中。

6-3-12拖至Details區域

 

Step14選擇Crystal Reports右擊滑鼠Report->Section Expert…功能表,打開Section Expert視窗,也可以在Report的設計畫面中按滑鼠右鍵,在右鍵功能表中選取Report->Section Expert,改變「Layout」頁籤下Detail SizeWidth值,就可以改變標籤的寬度。(此時需要把Details區域中的欄位Box Object框線控件)的寬度進行調整,來適應Details區域寬度)。

如果要改變標籤的高度,只需要改變Details區域高度即可,Box Object框線的高度在Template中我們已經設好會自動長高。

Layout的還有一個「Print Direction」可設先下到右,也可以設定先右再下,左右能印多少個它會自動依紙張寬度來除以目前Details區域的寬度;上下也是依紙張高度除以Details的高度方式來計算。

6-3-13設置報表Details參數

 

Step15回到Form1的設計畫面滑鼠連按兩下Print按鍵就會開啟button1_Click事件程式碼

6-3-14開啟button1_Click事件


button1_Click事件中已經有以下兩行程式:

            string Wstr = "1=0";

            Master.SetWhere(Wstr);

 

現在因為我們沒有條件,要全部印出,因此將上面兩行程式用「//」註釋掉。

F 然後我們要自己輸入以下程式:

     CustomerLabel1.SetDataSource(Master.RealDataSet);

     crystalReportViewer1.ReportSource = CustomerLabel1;

 

F完成之後就如同下圖:


6-3-15輸入程式

 

EEPManager.exe設定步驟,我們不再贅述與貼圖,簡單說明操作方式即可。

 

Step16右鍵cLabel,按一下建置編譯,產生cLabel.dll,然後執行EEPNetServer.exe,接著執行EEPManager.exe

 

Step17選擇System->Security Manager」,打開Security視窗。然後選中ROOT,按一下Add按鈕,增加一個功能表,Menu Information裏面MenuId會自動編號,自行設定也可,但不能重複,將『Caption』設置為CLabelSequence』設置為2(其Package是選擇EEP安裝目錄InfoLight\EEP2010\EEPNetClient\ Solution1下的cLabel.dll),最後按一下OK按鈕。

 

Step18選中CLabel,按一下Access Groups,在出現frmSelGroups視窗中前先選中『EveryOne』,然後按一下按鈕,接著按一下OK按鈕,最後關閉Security視窗。

 

Step19執行程式「EEPNetClient.exe」,然後雙按cLabel功能表,按一下「Print」按鈕查看執行結果。至此,一個簡單的Label設計就完成了。

6-3-16 Label報表完成

 

 

 

 

 


Converted from CHM to HTML with chm2web Pro 2.85 (unicode)