国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

利用PB動態創建數據窗口

2024-07-21 02:10:21
字體:
來源:轉載
供稿:網友

利用pb動態創建數據窗口

  當利用powerbuilder建立數據窗口時,用戶通常不能自己選擇數據來源和顯示類型。如何讓用戶在應用程序中自己定義數據窗口的數據來源和顯示類型呢?為了達到這個目的,我們必須在運行程序階段根據用戶自己的需求,動態地建立一個數據窗口。筆者將結合實際,詳細介紹動態創建數據窗口的步驟。

  在建立動態數據窗口之前,必須先得到數據窗口對象的語法,pb中為我們提供了syntaxfromsql( )函數,利用這個函數可以得到建立數據窗口的語法。syntaxfromsql()函數的基本格式如下:

  事物對象.syntaxfromsql(數據來源字符串,顯示類型字符串,錯誤字符串)

  下面是建立一個數據窗口對象語法的范例∶

  // 聲明變量

  string ls_sql, ls_present,ls_err, ls_syntax

  // 定義數據窗口的數據來源

  ls_sql = "select emp_id from employee"

  //定義數據窗口顯示字符串

  ls_present = "style(type=tabular)"

  // 得到建立數據窗口對象語法

  // 如果錯誤發生,syntaxfromsql 返回一個空字符串

  ls_errls_syntax = sqlca.syntaxfromsql(ls_sql, ls_present , ls_err)

  利用 syntaxfromsql( )所建立的數據窗口對象是在運行階段才建立的對象,并不會自動保存在pb的對象數據庫 library 中。為了以后可以重復使用這個數據窗口對象,可以利用 libraryimport( )函數保存數據窗口對象。

  在利用 syntaxfromsql( )函數建立一個數據窗口語法后,必須將它與窗口上的數據窗口控件結合,這個數據窗口控件必須已經存在于窗口中 。要將數據窗口對象語法和一個已經存在的數據窗口控件結合,必須利用create( )函數,下面是范例程序∶

  // 聲明變量string ls_syntax ,ls_err

  ls_errdw_1.create(ls_syntax, ls_err)

  dw_1.settransobject(sqlca)

  dw_1.retrieve( )

  在上面程序中,ls_syntax是運行syntaxfromsql( )函數后所返回的字符串。除此之外,也可以利用libraryexport( )函數從pb對象數據庫中得到已經存在于pbl中的數據窗口對象語法。因為create( )函數會破壞先前數據窗口與事物對象的結合,所以必須利用setransobject( )函數重新結合事物對象給新的數據窗口對象,最后再運行retrieve( )函數,從數據庫中讀取數據。

  最后,我們需要利用sql 語句字符串,動態創建一個新的數據窗口對象到一個數據窗口控件當中。雖然,在運行階段并不能直接在窗口上建立一個數據窗口控件,但卻可以利用用戶對象建立一個與窗口上一樣的數據窗口控件,在運行階段時再動態打開這個用戶對象。下面是動態建立數據窗口控件的步驟∶

  1. 在用戶對象畫板內,建立一個標準數據窗口的用戶類。

  2. 可以在這個控件中增加功能、程序、用戶對象函數和用戶自定義事件后,保存用戶對象到對象數據庫中。

  3. 利用 openuserobject( )函數建立一個數據窗口用戶對象的復件,一般格式如下∶openuserobject(用戶對象變量,{x坐標值,y坐標值})。下面是在窗口上鼠標點擊的坐標位置建立一個用戶對象 u_dw的范例∶

  openuserobject(u_dw, pointerx( ),pointery( ))

  以上是建立一個動態數據窗口的基本步驟,感興趣的讀者不妨一試。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙游县| 枞阳县| 乌兰浩特市| 临澧县| 罗江县| 兴山县| 莲花县| 阿鲁科尔沁旗| 闽清县| 上林县| 邮箱| 伊宁县| 改则县| 南宁市| 沙洋县| 扬中市| 通海县| 泰顺县| 泸溪县| 延川县| 涡阳县| 曲水县| 宜章县| 石阡县| 楚雄市| 天柱县| 贞丰县| 宜城市| 湖州市| 滦南县| 平安县| 潼南县| 安仁县| 北川| 沾益县| 新闻| 乌兰察布市| 东莞市| 乐山市| 西安市| 扶绥县|