|
在用過C#和PB后,就一直在想這個問題,如果能把PB中強(qiáng)大的datawindow功能放到C#使用,則對程序的開發(fā)能有很大的幫助。當(dāng)我發(fā)現(xiàn)Sybase公司出了可以在.net中使用的datawindow.net時,心中感到一陣高興。這陣有空,研究了一下,終于把這個功能用上了。 操作前,請安裝環(huán)境:Visual Studio .NET 2005,Datawindow.NET 2.0 具體操作如下: 1、設(shè)計要使用的datawindow A、打開DataWindow Designer(DataWindow設(shè)計器),新建一項目,如:test.dwp(此操作在默認(rèn)情況下會自動生成一個對應(yīng)項目名稱的pbl文件,此處為:test.pbl) B、建一數(shù)據(jù)庫連接,我這兒是sql server2000,建數(shù)據(jù)連接時,我選擇的是[ADO Microsoft ADO.NET],選擇[New...]按鈕,建立過程與PB中建數(shù)據(jù)連接一樣: 在Connection 頁面: Profile Name: LocalSql //數(shù)據(jù)鏈接名,可自行設(shè)置 Namespace: System.Data.SqlClient // 可選擇合適的連接數(shù)據(jù)要用的命名空間 Data Source: (local) User ID: sa Password: hospital_1 Database: hospital 設(shè)置完后,可以切換到Preview頁面中,通過選擇[Test Connection]測試所做的參數(shù)設(shè)置是否正確。然后選擇[OK]
C、新建datawindow對象,并保存到對應(yīng)的pbl文件中。創(chuàng)建過程與PB中一樣,這兒不詳說。有不清楚的請參考PB的相關(guān)書籍內(nèi)容。 如果有多個datawindow,則需重復(fù)此操作。 D、關(guān)閉所有的設(shè)計界面。在設(shè)計界面的左邊的項目名稱上面,鼠標(biāo)右擊,在出現(xiàn)的菜單中,選擇項:[Build Deployment...]后將pbl文件發(fā)布為pbd文件。(此處為test.pbd) 2、vs2005中的調(diào)用。 A、打開vs2005,新建一C#下的Windows應(yīng)用程序工程:CallDataWindow。 B、在窗體中,新建一datawindow控件(Sybase DataWindow 2.0下的DataWindowControl),命名為dw。并設(shè)置如下屬性: ScrollBars:Both //顯示橫向縱向滾動條 LibraryList:Test.pbd //把pbd文件拷貝到運行目錄下 DataWindowObject:(此處選擇設(shè)計好了的datawindow名) 其它的,根據(jù)需要設(shè)置。 C、在窗體中,放幾控件: button1:取數(shù)據(jù) button2:新增行 button3:刪除行 button4:保存 button5:打印 button6:另存為... D、切換到源碼中,程序中聲明三變量 System.Data.SqlClient.SqlConnection theConnection; // 數(shù)據(jù)庫連接 Sybase.DataWindow.AdoTransaction trans; // 事務(wù) int dwRow; // datawindow選中的行 E、在Form_Load事件中,加入如下代碼:
F、 dw的事件RowFocusChanged加如下代碼: dwRow = e.RowNumber; // 保存當(dāng)前選中行。 G、button1的Click事件: dw.Retrieve(); // 獲取數(shù)據(jù) H、button2的Click事件: // 插入一行
I、button3的Click事件: // 刪除一行 dw.DeleteRow(dwRow); // 當(dāng)選中行變化時,值dwRow會相應(yīng)變化。。 J、button4的Click事件:// 保存當(dāng)前修改。 dw.UpdateData(true, true); K、button5的Click事件: // 打印 dw.Print(); L、button6的Click事件: // 另存為...
使用C#調(diào)用datawindow,并完成一些簡單功能的介紹就到這兒。如有什么不對的地方或是考慮不周的地方,還請各位指出。 |
|
|
來自: 悟靜 > 《.net和asp.net》