Step1>請先執行桌面上的『Solution1.sln』,此時會進入VS2019開發環境,請在目錄『EEPClient』上面按下滑鼠右鍵,然後選擇『Add』->【New Project..】來新增一個Client的Project。
圖
Step2>請選擇Project types中【Visual C#】,此時會看見右邊的Templates:My Templates中,有上個章節所Export的四個Template。因為要實做Client端多檔,所以請選擇【CMasterDetail】,接著將『Name』命名為【C002】,『Location』設為【C:\Program Files\InfoLight\EEP2019\Solution1】。此與之前的程式存放目錄都是一致的,按下【OK】後,會自動產生Client端C002的Project。
圖
Step3>接著要設定各個Component的Property。
q
首先設定Master(InfoDataSet)的Property『RemoteName』。就是選擇那一個Server模組的InfoCommand。
圖
按下旁邊的【…】按鈕後,會出現RemoteName視窗供選取。在RemoteName視窗中選擇『S002』的【Master】的InfoCommand。
圖
接著將Master(InfoDataSet)的Property『Active』設成【True】。此時,DataSet內會有兩個DataTable,因為Server模組的S002.Master會有一個Master的DataTable和Detail的DataTable。
圖
q 然後設定ibsMaster (InfoBindingSource)的Property『DataMember』。
在Template中的ibsMaster已經將DataSource設定好Master這個InfoDataSet了,因此只要設定DataMember即可。請下拉選取【Master】,因為InfoDataSet中有兩個DataTable,一個為Master;另一個為Detail,在此選擇為Master。
圖
ibsDetail的DataMember請下拉選取【Relation1】。
ibsDetail的DataSource是【ibsMaster】。(是infoBindingSource class,而不是Master
InfoDataSet)。這是因為Master InfoDataSet有兩個DataTable(一個為Master,另一個為Detail),Master存放所有Master的資料,而Detail是存放這個DataTable每一筆主檔相對的所有明細資料,因此無法跟著idsMaster移動跟著改變Detail的相對資料。
所以我們將Detail的idsDetail.DataSource選擇idsMaster這個InfoBindingSource(BindingSource連到另一個BindingSource);將
idsDetail.DataMember選擇Relation1這個元件。(Relation1是系統依Master/Detail所自動產生的另一個BindingSource,用來實現Master/Detail的對應關係)。如此才能達到Master/Detail的對應關係。
圖
然後到Toolbox工具列中選取『InfoDataGridView』,將之貼到Form1上,位置放在Form1的左上方,目的是要一次顯示多筆Master的資料。
圖
此時設定InfoDataGridView2的Property『DataSource』,請下拉選取【ibsMaster】。
圖
然後雙擊Master(InfoDataSet),此時會開啟DataSet ColumnSelector的視窗。然後到『Selector』頁面,針對此Tree做展開的動作,並勾選要呈現的欄位(本範例中選到Freight為止),並在Master處按下滑鼠左鍵不放,將之拖曳到Form上面。(排列方式可以在Options頁面自行調整)。
圖
此時在Form上便會出現所有相關的欄位資料,然後請設定畫面下方的InfoDataGridView1(InfoDataGridView)的Property『DataSource』,選擇【ibsDetail】。
圖
設計部分已經完成,如圖
圖
Step4>接著對此ProjectC002做編譯(Build)的動作,此時會產生C002.dll這個模組,就已經完成一對多檔的Client端程式開發。
Step5>接下來請執行桌面上的『EEPManager.exe』,直接按【OK】登入。
圖
點選『System』->『Security Manager』菜單。
圖
請點選「Menu Utility」那個頁籤,按下【Add】以便新增一個Menu選單。此處請在『Caption』中鍵入【C002】,『Parent ID』選【0】。(代表C002是接在Menu ID 0=ROOT之下)『ModuleType』選【F】。
然後點選『Package』旁的【…】按鈕,選取\Solution1\路徑下的【C002.dll】。
圖
接著在『Sequence』中鍵入【03】。按下【OK】儲存離開。
圖
然後將焦點放在左方的『C002』,並點選【Access Groups】,將Default
User 001所屬的Groups【DEPARTMENT1】指定到右邊的視窗中,按下【OK】後即完成。
圖
Step6>執行桌面上的『EEPNetClient.exe』。與之前一樣,必須透過Login的畫面,才能進入主畫面,請依下圖按下【C002】,來執行C002的畫面進行測試。
圖
圖
Related Topics