PB
文章平均质量分 85
周大超
这个作者很懒,什么都没留下…
展开
-
PB中外部数据源数据窗口中动态创建列
PB中外部数据源数据窗口中动态创建列 公司原来做的横向报表用pb的外部数据源的做的,只支持固定列,列数相当于是在数据窗口中固定好的,横向的数据项一多,列就支持不了,需要自己在跑到数据窗口中增加,改程序,于是想列的创建能不能改成动态的呢?通过数据窗口的语法工具,发现有办法:<DW Control Name>.Modify(&"create column( id=<an integer> tabsequence=<an integer> accele..转载 2021-11-16 16:54:57 · 1030 阅读 · 0 评论 -
PowerBuilder打开OLE控件页崩溃的解决办法
PowerBuilder打开OLE控件页崩溃的解决办法PB执行Insert->OLE...->InsertControl-崩溃的解决办法工具/原料*PB12及以下版本 *WIN7管理员账号 方法/步骤1.1 一、获取TrustedInstaller<受信任的安装人>权限 在文件(远程桌面用):%systemroot%\system32\mstscax.dll上执行: 右键->属性->安全->选TrustedInsta...原创 2020-06-24 14:43:51 · 1001 阅读 · 0 评论 -
PB禁用鼠票滚动轮
PB禁用鼠票滚动轮原创 2018-01-15 10:41:40 · 257 阅读 · 0 评论 -
用Ctrl和Shift键实现鼠标多选数据行
功能实现:配合ctrl和shift键,实现用鼠标多选数据窗口的行,类似window的多选文件或文件夹 // 实例变量/Long il_row_first = 0 ///--- Instance Variables // dw的clicked()事件Long ll_posIf row = 0 Then ReturnIf keydown(KeyControl!) Then // Ctrl...转载 2018-05-10 22:15:53 · 3303 阅读 · 0 评论 -
PB数据窗口中各项指标的获取方法
1、得到当前鼠标所指对象所在的带区 string str_band str_band=GetBandAtPointer() //得到当前鼠标所指对象所在的带区 str_band=left(str_band,(pos(str_band,'~t') - 1))//得到"header"、"detail"等 if str_band<>'header' then return //单击非...转载 2018-06-08 09:55:31 · 2340 阅读 · 0 评论 -
PB读取任何格式excel只要指定开始和结束的行列
PB读取任何格式excel只要指定开始和结束的行列//从excel文件获得数据 //建立从EXCEL表获取数据的通道 OLEObject ole1 int result ,ll_rtn,i,row,colstring ls_pathname,ls_filenamelong ll_firstrow,ll_firstcollong ll_endrow,ll_e...转载 2018-08-22 16:55:48 · 1447 阅读 · 0 评论 -
PB 十六进制转中文
//本来想在网上找个现成的函数来着,但是找了好长时间也没找到,没办法,自己研究着写了一个,记载一下.long ll_point,ll_hex,ll_lenulong ll_valuestring ls_pvstring fs_hexstring ls_str,ls_str_mid,ls_str_mid1string ls_valuelong ll_str,ils_str = a...原创 2018-12-17 16:01:33 · 1533 阅读 · 0 评论 -
PB EXCEL导入
1.建议Excel里第一行为列标题,第二行为数据,可以用我以前写的这个函数,直接导入到数据窗口中//function integer gf_importfromexcel (datawindow adw_data)string ls_filename, ls_pathinteger li_valueoleobject ole_excelole_excel = create oleobje...转载 2019-01-11 22:03:57 · 2665 阅读 · 0 评论 -
PowerBuilder 双击datawindow列标题排序
string is_sortType = 'D'在dw_1的doubleclicked()事件:string ls_colNamels_colName = string(dwo.name)if row=0 and this.describe( ls_colName+'.text')<>'!' and this.describe( ls_colName+'.band')='...转载 2019-03-19 21:56:26 · 843 阅读 · 0 评论 -
双击标题排序
string is_sortType = 'D'在dw_1的doubleclicked()事件:string ls_colNamels_colName = string(dwo.name)if row=0 and this.describe( ls_colName+'.text')<>'!' and this.describe( ls_colName+'.band')='...原创 2019-08-13 16:51:13 · 164 阅读 · 0 评论 -
PB DOM解析XML
本文链接:https://blog.csdn.net/lxqluo/article/details/6109144因为项目需要,研究了一下pb dom 处理xml 的功能,发现还挺方便的。废话少说,直接进入正题:1. PBDOM设置1)添加pbdom120.pbd(%SYBASE%/Shared/PowerBuilder)到工程的pbl列表中2) %SYBASE%/Shared/Powe...转载 2019-08-19 13:27:02 · 1330 阅读 · 0 评论 -
PB中读写文件通用的两个函数
1、文件读取 ://函数名:f_readfile//功能:读取文件//参数://io_file:ref blob 大对象类型,存储读出的文件内容;//is_filename:string 文件名//返回值:int1-成功 0-失败LONG ll_lenint li_FileNum,li_count,loops,i,bytes_readblob lblb_b,tot...转载 2019-08-20 10:39:41 · 1909 阅读 · 0 评论 -
pb 窗体最大化最小化触发事件
一般情况下,如果是关闭窗体时触发该事件的话,直接在窗体的事件closequery()中处理,设置如下:this.windowstate =minimized!return 1 // 0 Allow the window to be closed//1 Prevent the window from closing新增一事件,ID为pbm_syscommand 其中参数comman转载 2017-12-19 22:37:56 · 4075 阅读 · 0 评论 -
PB 等待函数
PB 等待函数翻译 2017-11-16 10:30:44 · 3257 阅读 · 0 评论 -
PB调用带返回值的存储过程
/**实例变量:string is_vouchertype = '',is_jd = '' ,is_accountnum = ''**/string ls_sqlerrtext,ls_sql_outsqlca.autocommit = falseDECLARE p_voucher_setsql PROCEDURE FOR p_voucher_setsql@vou原创 2017-09-26 11:01:34 · 2977 阅读 · 0 评论 -
PB modify()函数
dw1.modify(modstring)//功能:使用字符串中定义的操作修改数据窗口控件 其中:modstring:string类型,其值定义修改数据窗口的各种操作。返回值:string .成功时返回空字符串(“”),发生错误时返回一条出错消息。形式:"line n column n incorrect syntax"(指明哪行哪列错了) 可以应用于:a.修改数据窗口中各种对象的颜色转载 2017-09-27 16:01:18 · 1946 阅读 · 0 评论 -
PB判断数据窗口数据是否更改及原始值与当前值
dwcontrol.GetItemStatus ( row, column, Primary! )可以获取该缓冲区内指定单元的状态,当参数column为0时,表示读取整个列的修改状态。有以下状态。 NotModified! :指定单元的数据和原始数据相同,没有修改过。 DataModified!:指定单元的数据和原始数据不同,修改过。 New!:该数据行是新增加的,但还没转载 2017-10-18 15:56:00 · 2819 阅读 · 0 评论 -
DataWindow的数据缓冲区
DATAWINDOW的四个缓站区 在PowerBuilder中,DataWindow是用户前端用来存储、操纵数据的对象。在每一个DataWindow对象中有4个二维表作为数据缓冲区,用来存储查询到的数据。用户在DataWindow中对数据处理系统内部的操作实际上都是将数据在这几个缓冲区中进行的修改和移动,最后在用户提交数据库时,系统根据这四个缓冲区中的信息形成SQL的IN-SERT,UPDAT转载 2017-10-18 15:58:03 · 466 阅读 · 0 评论 -
判断新增行是否允许修改
if(isrownew(), 0, 1) //如果是新增加的行,可以修改,如果保存以后,不可修改PB帮助:This expression defined in the Properties view for the Protect property of a column prevents the user from modifying the column unless the ro原创 2017-10-18 16:00:56 · 309 阅读 · 0 评论 -
PB判断是否获取焦点
GraphicObject which_controlDataWindow ldw_objectwhich_control = GetFocus()If TypeOf(which_control) = datawindow! Then ldw_object = which_control ldw_object.InsertRow(0)End If转载 2017-11-08 21:05:28 · 2902 阅读 · 0 评论 -
PB 数据窗口的字段设置焦点
假定数据窗口控件名字是dw_1,可以在open事件中加入如下代码:dw_1.setcolumn("字段名")dw_1.setfocus()如果是datawindow要定位到具体的单元格dw_1.setfocus()dw_1.setrow(i)//定位到行dw_1.setcolumn("columnname")//定位到列转载 2017-11-08 21:06:37 · 8798 阅读 · 0 评论 -
PB中一些技巧
1.RGB函数计算公式: 颜色值 = (65536 * Blue) + (256 * Green) + (Red)2.控件可拖动:send(handle(this),274,61458,0)3.如何用程序控制下拉子数据窗口的下拉和收起用modify或者直接用dw_1.object.col1.dddw.showlist = true4.检索参数有些不需要传入则传%.转载 2017-11-08 21:08:43 · 3018 阅读 · 0 评论 -
当字段允许修改并且字段类型为char时打开某窗口
记录一下if row > 0 then string ls_para,ls_ColType ls_ColType = Describe(dwo.name+".ColType") if Pos(Lower(ls_ColType),"char") 'yes' and this.Describe(string(dwo.name) + ".TabSequence") <> '0' then th原创 2017-11-10 00:40:21 · 182 阅读 · 0 评论 -
rowsmove把数据窗口中某行移动到指定位置
用rowsmove来移动,下面是在同一个数据窗口中移动的例子移动语法integer dwcontrol.RowsMove ( long startrow, long endrow, DWBuffer movebuffer, datawindow targetdw, long beforerow, DWBuffer targetbuffer )例如:1、先取得需要移动的转载 2017-11-02 09:23:16 · 1560 阅读 · 0 评论 -
PB数据窗口modify修改字段下拉属性
修改DROPDOWNDWdw_1.modify("columnname.edit.style = 'dropdownDw'")dw_1.Modify("columnname.dddw.Name='colname'")dw_1.modify("columnname.dddw.DataColumn = 'columnname1'")dw_1.Modify("columnname.dddw.au原创 2017-11-17 17:22:11 · 3814 阅读 · 0 评论 -
PB 字符串转 UTF-8
PB 字符串转 UTF-8转载 2017-12-08 11:39:03 · 8977 阅读 · 0 评论