WordPlate
【功能說明】
用途:使用於 Client 端,讓 User 可以根據資料庫數據按照一定規格輸出到 Word 。
【元件屬性】
Name( 名稱 )(string)
元件名稱,用於識別該元件。
DataSource ( 資料源 )(Collection)
用於 將一些資料源和一個資料源標記關聯,這樣文檔就能取得資料源中的資料。
Caption(string) : 標 記 標題,由
User 自行輸入。
DataMember(string): 資料内容,在
User 選定
DataSource 后自 動在下拉選項中添加進入。
DataSource(string): 資料源,添加希望關聯的 InfoBindingSource 。
ImageColumns (collection) : 圖片欄位,在資料表中如果存在欄位為 Image 時,須設定次屬性,屬性内容如下
:
ColumnName (string): 欄 位名稱, 用於設定圖片類型的 欄位。
DefaultPath (string): 默認路 徑,當希望顯示圖片的 欄位 為 string 類型,
僅存放檔的目錄資訊,那麼可以通過設定 DefaultPath ,在套表時, 會根 據 DefaultPath +
Photo 欄 位元 的值去伺服器下載圖片 。
WordTag (Word 標 記 )(Collection)
用於 將 一些運算式和 一個自定義 標記關聯,這 樣文檔就能取得運算式的值。
DataField (string): 標 記名稱,有 User 自行輸入。
Exp(string): 運算式
Format(string):
用於 規定輸出運算式的格式。
WordFile ( 範本文件名 )(string)
表示輸入範本文檔的檔案名(包括尾碼名 doc ),範本文檔要存放在 EEPNetClient 所在 Folder 中的當前解決方案的 Folder 或 WebClient 所在 Folder 裏,在運行時用戶端會自動更新這個範本。
OutputPath ( 輸出路徑 )(string)
表示存放輸出文檔的目錄,如果目錄不存在的話會在運行時自動產生。
OutputFileName ( 輸出文件的名稱 )(string)
此屬性鍵入值為輸出文檔的檔案名
( 包括尾碼名 doc) ,如果不設置的話,會輸出一個以輸出時間為檔案名的文檔。
PlateMode ( 套表文檔的格式 )( enum)
此屬性有兩個選擇,一個為 Xml ,另一個為 Com ,選擇 Xml ,這個模式的速度比較快,消耗的資源比較少,最終輸出的文檔也是以 xml 格式保存的。如果選擇 Com ,這個模式的資源有一定的消耗,最終的輸出格式為 Word 文檔的格式,但支援所有的文檔內容,尤其文檔中存有自定義的圖片或者統計圖時,由於不能保存為 xml 格式,因此只有選擇 Com 了。
OutputMode ( 套表結束後的輸出模式 )( enum)
次屬性共有沒有動作( None ) , 打開輸出文檔( Launch ) , 將輸出文檔以附件發給收件人 ( Email )三种選擇。
ShowAction ( 顯示套表過程 )( bool)
當設定為 True 時,在運行套表過程時,會顯示一個進度條及一些文字,指示當前套表的情況,如果設定為 False ,則不會出現這個進度條。
MarkException ( 標記錯誤資訊 )( bool)
設定為 True 時,如果套表過程中發生 異常 ,則會將異常資訊寫入到輸出文檔對應的標記中,設定為 False ,則不會改變這個產生異常的標記。
EmailAddress (Email 地址 )(string )
當選擇 OutputMode 為 Email 時,將使用該屬性把文件作爲附件發送到設定的 Email 地址中。
EmailTitle ( 郵件主題 )(string)
當選擇 OutputMode 為 Email 時,會將 Email 主題設定為該屬性設置。
【 事件 】
AfterOutput(EventArgs e)
WordPlate 還提供了一個輸出后的事件,可在輸出結束後發生,可以在這個事件中加入用戶自定義的程式。
private voidWordPlate 1 _AfterOutput(
objectsender, EventArgse)
{
MessageBox.Show(
"Finish");
}
【功能函數】
Output( int Mode)
運用此方法可以將 Word 文件進行輸出, OutPut 方法有一個整型參數,當參數為
1 時,輸出前會再次讓用戶選擇輸出結束後的工作,可以選擇沒有動作( None ) , 打開輸出文檔( Launch ) , 將輸出文檔以附件發給收件人(
Email );不為 1( 其他任何數建議使用 0) 時,就按照 OutputMode 的設定進行輸出後的工作。
【 其它説明
】
Exp 格式説明
1.
系統變數
以 ”_” 符開頭的變數被識別為系統變數,可用的系統變數可以在下表查到,除這些以外的以 ”_” 開頭的變數都會產生一個 System Parameter Not Found 異常 。
|
系統變數 |
含義 |
原型 |
|
_today |
今天的日期 |
DateTime
.Now.ToShortDateString() |
|
_userid |
登錄的用戶 ID |
CliUtils
.fLoginUser |
|
_username |
登錄的用戶名 |
CliUtils
.fUserName |
|
_sitecode |
分類 |
CliUtils
.fSiteCode |
|
_groupid
|
登錄的用戶所屬的組 |
CliUtils
.fGroupID |
|
_database |
登錄的資料庫 |
CliUtils
.fLoginDB |
|
_solution |
登錄的解決方案 |
CliUtils
.fCurrentProject |
|
_language |
系統的語言別 |
CliUtils
.fClientLang.ToString() |
2.
一般字元變數
以 ”\” 開頭的變數被識別為一般字元變數,例如要顯示 ”_today” 還不是 _today 這個系統變數(會顯示當天的日期),那麼只要在運算式中輸入 ”\_today” 即可。
3.
一般數位變數
直接輸入數位即可,例如 2 , 1.5 。
4.
函數變數
通過函數名 + 一對大括弧可以在運算式中取得函數的返回值,例如 Form 中有這樣一個函數:
public stringTest( stringparam)
{
return "this
is a function: "+
param;
}
運算式 Test{test} 就會顯示為 ”this is a function: test” 。
5.
資料源變數
直接使用欄位的名稱就可以取得資料源的內容,而資料是取自哪個資料源和哪條記錄將由範本來定義,這部分內容可以參考範本的設定。
6.
控制項屬性變數
使用控制項名 + “.” + 屬性名可以取得控制項的屬性值,運算式 TextBox1.Text 就能得到 TextBox1 的 Text 屬性的值。
注意:控制項屬性變數只能訪問到 Control 的字元或者數值型的屬性,如果試圖訪問非 Control ,如 Component 的屬性,或者訪問 Control 其他類型的屬性的話,全產生異常。
+,-,*,/,^,(,) 將被識別為連接符,使用它們來連接每個變數。
如果每個變數都是數值類型的話,可以使用所有的連接符來計算最後的結果,並最後按照 Format 設定的格式顯示。
如果變數不全是數值類型的話,那麼只能使用 ”+” 連接符來連接,最後顯示連接後的字串。
注意:如果使用 ”+” 以外的連接符來連接非數值型變數的話,會產生異常。
匹配資料源 標 記 $ DataSource( param,column)
DataSource : 標 記的名稱,以此 來和元件中的資料源 標記匹配。
Param ( 有
3 种形式 )
數 字 : 取得索引 為指定 數位的記錄,如果索引在列表的範 圍之外, 會產生 一個 Invalid
Parameter 異常 。
X :取得全部記錄。
C :取得當前記錄,僅當資料源 標記關聯的資料源 為 InfoBindingSource 時才可使用,否則 會產生 一個 Invalid
Parameter 異常 。
Column(2 种形式 )
欄 位名:取得該 欄位的 內容。
自定義標記:通過自定義標記的運算式計算出的值。
匹配自定義標記: $Tag $Tag(param1,…)
Tag: 標記的名稱,以此來和元件中的自定義標記匹配
根據參數的個數匹配自定義標記
$Tag 與 Tag 匹配
$Tag(1) 與 Tag(a) 匹配
$Tag(1,2) 與 Tag(
a,b) 匹配
如果不存在匹配的自定義標記的話就會繼續去匹配 Form 中的函數。
匹配函數: $ Func() $ Func(param1,…)
Func : 函數的名稱,以此來和 Form 中的函數匹配。
匹配優先順序
由於 $ DataSource( param,column) , $Tag(param1,param2) , $
Func(param1, param2) 在文檔中的表示方式相同,所以按照 DataSource , Tag, Funcition 的優先順序去匹配,因此不要將資料源標記,自定義標記,函數的名稱重複。
| Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |