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 其他類型的屬性的話,全產生異常。

7.      運算符

+,-,*,/,^,(,) 將被識別為連接符,使用它們來連接每個變數。

如果每個變數都是數值類型的話,可以使用所有的連接符來計算最後的結果,並最後按照 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)