PowerBuilder資料視窗中記錄顏色的隔層顯示

來源:互聯網
上載者:User
   1. 前言

  在PowerBuilder中資料視窗(DataWindow)技術可以說是PB的核心,以至於Sybase公司甚至為它申請了專利。對資料庫中資料的所有操作幾乎都是通過DataWindow對象來完成的,資料視窗對象建立的好壞直接影響到應用程式本身的優劣。

  對於許多新接觸PowerBuilder的程式員來說,DataWindow控制項和DataWindow對象之間的差別常常讓人混淆不清。其實,DataWindow控制項就是一個類似於CheckBox、CommandButton控制項的控制項。而DataWindow對象則是用畫板建立在PBL庫中的對象。DataWindow控制項相對於DataWindow對象來說就像是一個容器一樣將之包含在控制項裡。

  在實際使用過程中經常會用到的一些資料視窗的提示。現在我們就說說資料視窗中記錄顏色的隔層顯示這個大家常用的技巧。

  2. 功能說明

  資料視窗在Retrieve後往往會返回很多條記錄,而這些記錄中的資料複雜,通常會造成視覺上的不便。因此如果能夠使行與行之間用不同的顏色進行區分,例如第一行記錄的背景色是淺白色,第二行記錄的背景色是淺灰色,第三行又是淺白色,第四行又是淺灰色……依次類推,既能極大地方便使用者,又能讓您的應用程式增色不少。同時當使用者點擊當前行時,顏色就會變成淺黃色,這樣的效果誰都會喜歡。

  3. 實現方法

  要想讓顯示的資料達到上述效果,我們首先應該知道的是這些表現形式應該在資料視窗對象的什麼地方體現出來。很顯然,資料視窗中的所有資料是在細目帶(Detail)中列出的,因此只要在細目帶中設定列對象(Column)的某項屬性就會影響到它的顯示效果。具體實現如下:

  開啟資料視窗,選擇所有的列(Column)。

  在Properties視窗中翻到Font標籤頁,單擊Background Color屬性旁邊的一個帶有紅色表徵圖的小按鈕。見圖7.1。


圖7.1 點取紅色小按鍵

  在Expression運算式一欄中輸入(見圖7.2):

if(currentrow()=getrow(),rgb(255,240,194),if(mod(getrow(),2)=1, &rgb(255,254,249) , rgb(247,247,239)))


圖7.2 輸入運算式

  註:

  運算式中rgb(255,240,194)為淺黃色,rgb(255,254,249)為淺白色,rgb(247,247,239)為淺黃色。

  4.效果展示

  返回預覽視窗看看,效果相當不錯!見圖7.3。

}
            圖7.3 顏色效果

  5. 相關函數說明

  CurrentRow()與GetRow()函數是資料視窗資訊函數。

  1. CurrentRow()

  功能描述:得到資料視窗當前得到輸入焦點的行的行號。

  文法:CurrentRow()

  傳回值:Long。函數執行成功時返回當前行的行號,無當前行時返回0。

  2. GetRow()

  功能描述:返回資料視窗相應帶中的當前行行號。

  文法:GetRow()

  傳回值:Long。函數執行成功時返回相應帶中當前行的行號,如果資料視窗中無資料則返回0,發生錯誤時返回-1。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.