轉帖|其它|編輯:郝浩|2011-03-28 14:13:15.000|閱讀 971 次
概述:在我以前的貼子中,有過對此控件的介紹,但也僅僅是使用它的打印功能.經過這段時間的使用,發現它如果作為單據模板使用,效果也很不錯,而且作為模板的話,不僅在WebForm里可以,在WinForm里也是可以的,本文提供的demo里就提供了這兩個場景的使用.好了,讓我們直接進入正題
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在我以前的貼子中,有過對此控件的介紹,但也僅僅是使用它的打印功能.經過這段時間的使用,發現它如果作為單據模板使用,效果也很不錯,而且作為模板的話,不僅在WebForm里可以,在WinForm里也是可以的,本文提供的demo里就提供了這兩個場景的使用.好了,讓我們直接進入正題
開發環境要準備好,如圖-1所示,其中的文件在下載文件中已提供,直接使用即可
圖-1
首先,講下在WinForm中是如何使用的.在這里,我創建一個自定義控件,名稱為WinDataWinodw,繼承自GroupBox控件(相當于容器),在此控件中,定義一個DataWindowControl控件,這就是我們所要講的控件.代碼如圖-2所示,之前要引用Sybase.DataWindow命名空間的.
圖-2
定義好之后,編譯通過,在引用的地方,直接將WinDataWindow控件拖動界面里即可,然后我們就可以像使用微軟控件一樣了.
它的加載方式有3種
1. DataStore方式
它相當于不顯示的DataWindowControl對象,可以理解為數據集,但比數據集要增加好多東西,比如UI的布局,欄目標題,字體等.加載完DataStore之后,通過它本身提供的方法,直接加載至DataWindowControl控件即可.使用這個方法有個要求,就是DataStore和DataWindowControl控件的數據窗口名稱要一致.代碼如圖-3所示
圖-3
2. DataTable方式
其實控件本身直接提供一個方法,直接使用DataTable對象加載即可,這種方法也有個要求,就是它的數據源和DataTable數據源要完全一致,要求欄目名稱和數據類型都要一致,否則,會報錯的.代碼如圖-4所示
圖-4
3. InsertRow方式
這種方式最為簡單,一句代碼搞定.如圖-5所示
圖-5
講完這些以后,我們看看它的下拉菜單是如何綁定數據的?如圖-6所示.它有一個DataWindowChild對象,相當于Form里的ComboBox控件.這里要注意下,若某個欄目是下拉菜單,一定要將這個欄目的StyleType類型設置為DropDownDW!樣式,否則,在獲取DataWindowChild會報錯,如圖-7所示
圖-6
圖-7
OK,我們繼續講講它的事件,綁定方法和微軟的控件一樣,如圖-8所示.這個事件是實現欄目切換時觸發的,可以完成下拉菜單的級聯操作.demo中已提供這個示例,直接參考即可.
圖-8
取值和賦值相對來說比較簡單.這里不再描述,直接看demo就可以了.講到這里,這個控件最基本的功能就完成了,數據加載,欄目取值和賦值,事件綁定等.這個控件還有很多其他方法和事件的,最簡單有效的查閱方法就是安裝一個Sybase Power Builder開發工具,它的幫助文件對此有詳細描述,不過,是全英文的,哈哈.
接著,我們講下在WebForm環境下如何使用.在WebForm環境下,該控件變身為ActiveX控件.因此對這個控件的操作,我們全部放在了前臺編寫,不過,不用擔心,它的強大之處在于,它也已經提供了完善的方法和事件來完成在WinForm同樣的功能.
需要在項目文件中引入一個cab文件,它在Sybase Power Builder的安裝路徑下可以找到,本文提供的demo中可以直接找到,不必安裝.在頁面里,調用的地方如圖-9所示
圖-9
數據的加載方式有2種,一種在在后臺使用DataStore方式加載好數據,轉為字符串,由前臺調用即可,詳細示例請參考之前的一篇貼子.這里講一下另外一種方式,就是InsertRow方式.如圖-10所示
圖-10
我們再看看如何賦值和下拉菜單是如何綁定的?如圖-11.取值部分就比較簡單,直接看demo就可以了.這里重點說明一下,它的事件是如何觸發的,我試了好久才試成功的.如圖-12所示
圖-11
圖-12
OK,至此WebForm部分該控件的使用也介紹完了.
最后發兩張效果圖,如圖-13和圖-14所示
圖-13
圖-14
有人會問,用它來做什么?無論是WebForm還是WinForm,UI層的布局是最繁瑣的事情,有時會根據客戶需求來隨時修改UI布局,包括增刪改控件.如果使用這個控件的話,嘿嘿.我們就可以不修改頁面本身,而只修改數據窗口就可以了.取值和賦值都是動態的,豈不是很方便哈!還有它的打印功能,也很強大的,請參考之前的貼子.
這里再透露一個它的功能,其實它本身也支持圖表功能的,對,就是圖表,只是它的色彩比較單一,無法與WebForm程序里五顏六色的其他強大圖表相比較.
說明
1. 這次提供的下載文件有3個壓縮包,一個是源碼及源碼所需求的DLL文件,一個是編譯直接運行的程序.它們都是不需要安裝Sybase Power Builder程序的,直接就可以運行,在我的虛擬機里測試過.只需安裝net2.0的類庫即可
2. 提供的WebForm版本中,由于控件是ActiveX控件,因此需要注冊,我們將cab文件夾中的壓縮包解壓出來,將所有文件復制至system32下面,運行regsvr32.exe psdwc115.dll即可完成注冊
3. IE的安全設置同時也要修改,對ActiveX控件最好設置為啟用或提示.
4. 此控件由于可視化界面自行設計,可以在工作流自定義界面環節中使用呢.這是一個思路,僅供參考
5. 有什么問題,大家可以留言,我會及時處理和回復
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:Vincent.Q