datawindow
文章平均质量分 73
winnet
PB,老了。。
展开
-
PB DataWindow 38个技巧
1 使DataWindow列只能追加不能修改如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Protect 属性设置为:If( IsRowNew(), 0, 1) )在 PowerScript 中可以动态修改 Protect 属性:dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'")这样,DataWindow 中只有新追加的记录可修改转载 2011-05-14 17:16:00 · 532 阅读 · 0 评论 -
dw列动静态控制
<br /> 在编制管理信息应用系统中,一般都会遇到一个共同问题,那就是如何根据不同情况去控制表中的数据列,比如对于同一DATAWINDOW不同的用户有不同的操作(如对于数据录入人员可以更改数据,而对于查询人员一般不能更改数据),下面就以一个简单的工资表为例来说明利用PB如何在DATAWINDOW中控制列的修改方式。 <br />工资表基本列如下: <br />代码 姓名 工作时间 基础工资 浮动工资 岗位工资 知识分子补贴 其它工资 <br /><br />code name workdata ba转载 2011-05-14 17:51:00 · 483 阅读 · 0 评论 -
HSplitScroll_应用
<br />PB如何让数据窗口可以一分为2,中间出现一条分隔线,分隔线右边可以随便拉动,左边固定,方便数据窗口列比较多,且要查看左边的某些数据用.<br />一 把数据窗口的HSplitScroll属性选中,<br />二 在dw控件的constructor事件中 写如下代码设置那些列固定不动.<br />int li_pos<br />li_pos=integer(this.describe("code.width"))+integer(this.describe("wo_code.x"))+20<br转载 2011-05-15 13:02:00 · 593 阅读 · 0 评论 -
一些技巧
<br />2.控件可拖动:<br />send(handle(this),274,61458,0) <br /><br />3.如何用程序控制下拉子数据窗口的下拉和收起<br />用modify或者直接用dw_1.object.col1.dddw.showlist = true <br /><br />4.检索参数有些不需要传入则传%. <br /><br />5.如何屏蔽鼠标滚轮触发<br />在控件的other事件写<br />if message.number = 522 then return 1转载 2011-05-14 17:22:00 · 438 阅读 · 0 评论 -
巧用DataWindwo返回计算表达式的值
<br />一、返回比较表达式如60 < 70的函数<br /><br />函数f_exp_compare<br />//====================================================================<br />// 函数: f_exp_compare<br />//--------------------------------------------------------------------<br />// 描述: 返回比较表达式的结果<b原创 2011-05-14 17:54:00 · 433 阅读 · 0 评论 -
DW列控制属性
<br />在编制管理信息应用系统中,一般都会遇到一个共同问题,那就是如何根据不同情况去控制表中的数据列,比如对于同一DATAWINDOW不同的用户有不同的操作(如对于数据录入人员可以更改数据,而对于查询人员一般不能更改数据),下面就以一个简单的工资表为例来说明利用PB如何在DATAWINDOW中控制列的修改方式。<br />工资表基本列如下:<br />代码姓名工作时间基础工资浮动工资岗位工资知识分子补贴其它工资<br />code name workdata basesa movesa stations转载 2011-05-14 17:18:00 · 753 阅读 · 0 评论 -
dw中的回车处理方法
下面的脚本在数据窗口的PBm_dwnprocessenter用户事件中编写,用来检查数据窗口中录入数据的各种情况,并执行相应的程序。 (1)当返回负值时 肯定某列存在错误,这时既不处理Enter键也不处理Tab键。 (2)当返回非负值时 如果是最后的行列则应该在按回车键时插入一行,并使光标定位到新行的第一列上。 - 如果不是最后行列则应该发送Tab信息,屏蔽Enter键的处理。 脚本如下: If This.AcceptText() Return 1 //则不进行按键处理,直接返回 End If转载 2011-05-15 13:10:00 · 1248 阅读 · 0 评论