问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

利用PB动态创建数据窗口

发布网友 发布时间:2023-04-24 18:16

我来回答

1个回答

热心网友 时间:2023-10-12 23:10

  利用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_ Create(ls_syntax ls_err)

  dw_ SetTransobject(SQLCA)

  dw_ retrieve( )

  在上面程序中 ls_syntax是运行SyntaxFromSQL( )函数后所返回的字符串 除此之外 也可以利用LibraryExport( )函数从PB对象数据库中得到已经存在于PBL中的数据窗口对象语法 因为Create( )函数会破坏先前数据窗口与事物对象的结合 所以必须利用SetransObject( )函数重新结合事物对象给新的数据窗口对象 最后再运行Retrieve( )函数 从数据库中读取数据

  最后 我们需要利用SQL 语句字符串 动态创建一个新的数据窗口对象到一个数据窗口控件当中 虽然 在运行阶段并不能直接在窗口上建立一个数据窗口控件 但却可以利用用户对象建立一个与窗口上一样的数据窗口控件 在运行阶段时再动态打开这个用户对象 下面是动态建立数据窗口控件的步骤∶

  在用户对象画板内 建立一个标准数据窗口的用户类

  可以在这个控件中增加功能 程序 用户对象函数和用户自定义事件后 保存用户对象到对象数据库中

  利用 OpenUserObject( )函数建立一个数据窗口用户对象的复件 一般格式如下∶OpenUserObject(用户对象变量 {x坐标值 y坐标值}) 下面是在窗口上鼠标点击的坐标位置建立一个用户对象 u_dw的范例∶ OpenUserObject(u_dw Pointerx( ) Pointery( ))

  以上是建立一个动态数据窗口的基本步骤 感兴趣的朋友不妨一试

      编辑推荐

       ASP NET开发培训视频教程

lishixin/Article/program/PB/201311/24609
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
亲肤绒与猫抓布,哪款面料做沙发好? 我需要 天津大学_高等数学(上下册)_蔡高厅,有这个的百度网盘吗? 蔡高厅讲的高数是哪版教材 自考高等数学工专如何学 2022情侣必备的经典感恩节祝福语 送给爱人的感恩节祝福语 感恩节给爱人祝福语 如何下载小升初数学试卷 请问各位朋友,有哪些好网站,上面有各地优秀的小升初的数学试卷? 民生信用卡什么合适 高性能MySQL:使用strace 注安成绩查询显示未找到符合信息 注安考试成绩查询没有记录怎么办 河北省补考注安成绩怎么查不了 怎么查看别人的注安师成绩 梦见电线冒黑烟 梦见插板冒黑烟的预兆 The devoted friend 语言点 广州十级工伤赔偿多少钱? 流眄乎洛川是什么意思 昏惰的拼音狐昏惰的拼音是什么 word怎么制作坐标轴? 乳,执,划,控,侨,橘,澎换偏旁组字. 姜黄的造句姜黄的造句是什么 莪术的解释莪术的解释是什么 莪术的意思莪术的意思是什么 莪术的结构莪术的结构是什么 莪术的造句莪术的造句是什么 精度的读音精度的读音是什么 precision怎么读 引用文献如何标注右上角 苗薅的引证解释苗薅的引证解释是什么 耕稼的引证解释耕稼的引证解释是什么 群晖硬盘插槽无法弹出 wlk冰虫鳞片贵吗 魔兽世界怀旧服WLK制皮350-450快速冲级攻略 美服魔兽世界中部落剥皮375以后在哪学? 一斤哥的解释一斤哥的解释是什么 辰居的拼音狐辰居的拼音是什么 宸怎么读 宸的拼音是什么 熙华的拼音狐熙华的拼音是什么 绛驺的拼音狐绛驺的拼音是什么 死水的词语死水的词语是什么 清潭的词语清潭的词语是什么 雪花啤酒老雪多少度 他朋友圈屏蔽了我,我要删他吗? 不让你看朋友圈的人,你会删除吗? 梦见和兄弟一起出国 梦见自己要和别人出国的预兆 华为mate20pro屏幕碎了换多少钱