該示例程序演示如何在辦公系統中使用Text Control。辦公系統的主要功能就是根據數據庫中的數據來創建所需的文檔。例如,根據地址信息數據庫和商品信息數據庫來創建一個訂單。
示例程序分兩步完成,第一步只包含從地址信息數據庫中取的數據,第二步中才添加其它的功能。
本章節相應的源代碼可以在TX Text Control.NET的安裝目錄中找到:
Samples\WinForms\VB.NET\ Quote Generator
Samples\WinForms\CSharp\ Quote Generator
第一步:創建報價單
程序啟動時,DataGrid中顯示了所以的地址信息,示例中使用的數據來自於XML文件。
1 [C#]
2 DataSet dsAddress = new DataSet ("address");
3 dsAddress.ReadXml("..\\..\\address.xml");
4 gridAddress.DataSource = dsAddress;
5 gridAddress.DataMember = "address_record";
選擇File/New Quote菜單,會根據當前DataGrid的選中行來創建一個文檔,具體方法如下:
打開一個包含Text Control的窗體,同時加載所需的樣式表,該樣式表將作為最終文檔的模板,其中包含所有文檔中相同部分的文本,例如:為了答復貴方的詢價並根據我們的一半業務處理流程,我們很高興... ...;並且插入一些需要從數據庫中取值的占位字符,例如:地址、日期等等;同時定義字體的大小、公司Logo、文檔布局,所以,最終生成的文檔都有相同的顯示樣式。
當加載該樣式表、占位字符也用數據庫中的數據替換之后,我們就得到了一個包含真是地址、名字、客戶號和日期的報價單:
第二步:添加產品信息
在你閱讀實際代碼之前,你可能想運行程序了解它的具體功能,下面將簡單介紹一下它的基本功能:
1. 啟動程序后看到的是一個主窗體,窗體中顯示了一些客戶的地址信息,選擇其中的一條信息
2. 點擊File/New Quote菜單項,將會根據選擇的客戶信息來創建一個報價單
3. 點擊Insert/Article 菜單項,選擇一個商品,點擊OK按鈕,該產品的信息將會自動添加到報價單中
4. 輸入需要產品數據,系統會自動總價格
5. 重復步驟三中的操作,添加更多的產品信息添加到報價單中。如果需要刪除報價當中某一產品的信息,只需將光標停放在該行,然后點擊Edit/Delete菜單項。
6. 最后,點擊File/Print菜單項打印該的報價單。
為了添加產品的相關信息,我們需要添加一個名為Article的數據庫,Article中的數據與Address中的數據一塊顯示在主窗體中。
產品信息列表最好以表格形式顯示,Text Control提供了表格操作相關的功能,可以輸入產品ID、描述和價格,同時還可以對表格中的數據進行計算操作。為此,我們添加一個表格,調整列寬、文字間距和表頭信息。最終效果如下:
在Advanced菜單中添加一個插入表格的菜單項,通過該菜單項在文檔中插入表格。同時可以通過Format/Table菜單項來調用Text Control的表格屬性設置對話框,可以在對話框中調整表格線,背景色等屬性。
接下來就可以將Article中的數據添加到表中。示例程序中的ArticleTable類演示了如何操縱表格、行、列和單元格等對象。當用戶選中Article中的一個產品時,程序將進行以下操作:
1. 檢查當前輸入位置是否在Article表格的數據行,如果不在數據行,程序將第一個數據行作為將要插入數據的行。
2. 將選中的產品編號、描述和價格插入到第一步中得到的行中。
3. 在表格中觸發Changed事件之后,程序會自動計算總金額。