社区
DataWindow
帖子详情
关于itemchanged事件
aj1532wyt
2011-12-02 02:53:42
小弟的DW中有三个字段 art_no,descr,qty 我想实现手工录入这三个字段,如果art_no为空的时候不允许跳转到descr。。。
...全文
305
12
打赏
收藏
关于itemchanged事件
小弟的DW中有三个字段 art_no,descr,qty 我想实现手工录入这三个字段,如果art_no为空的时候不允许跳转到descr。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aj1532wyt
2011-12-09
打赏
举报
回复
[Quote=引用 10 楼 lsy999 的回复:]
设置art_no列的edit下的Required属性为true一個就可以了,不會對焦點有影響
或者在其它的欄位上填寫getitemstring(getrow(),"art_no") ='' 則提示返回倒setcolumn("art_no")
[/Quote]
我是这样写的,输入值以后按回车跳到下DESCR字段,如果ART_NO为空,就在回车事件中不跳转,怎么实现。
lsy999
2011-12-09
打赏
举报
回复
设置art_no列的edit下的Required属性为true一個就可以了,不會對焦點有影響
或者在其它的欄位上填寫getitemstring(getrow(),"art_no") ='' 則提示返回倒setcolumn("art_no")
aj1532wyt
2011-12-09
打赏
举报
回复
[Quote=引用 8 楼 baiynije 的回复:]
itemchanged return 1
[/Quote]
能不能详细一些,我把DW EDIT 里的empty string is null 和required 两个勾上以后就可以实现了。。
baiynije
2011-12-09
打赏
举报
回复
itemchanged return 1
aj1532wyt
2011-12-09
打赏
举报
回复
[Quote=引用 3 楼 yyoinge 的回复:]
方法(1)设置art_no列的edit下的Required属性为true
方法(2)在数据窗口的设计界面中的Column Specification面板上,为art_no列设置Validation Expression为“gettext() <> ''”,设置Validation Message为“'art_no列不能为空'”
不要在dw的itemerror事件中写代码,如果非得写代码,当……
[/Quote]
不行啊。哥们。我设置完了以后,当art_no失去焦点的时候不提示啊。。。
the7thsense
2011-12-08
打赏
举报
回复
[Quote=引用 3 楼 yyoinge 的回复:]
方法(1)设置art_no列的edit下的Required属性为true
方法(2)在数据窗口的设计界面中的Column Specification面板上,为art_no列设置Validation Expression为“gettext() <> ''”,设置Validation Message为“'art_no列不能为空'”
不要在dw的itemerror事件中写代码,如果非得写代码,当……
[/Quote]
顶这个
xixi_Lee
2011-12-08
打赏
举报
回复
可以的 , 看API ,有允许和不允许改变焦点的
PB菜鸟
2011-12-02
打赏
举报
回复
[Quote=引用 3 楼 yyoinge 的回复:]
方法(1)设置art_no列的edit下的Required属性为true
方法(2)在数据窗口的设计界面中的Column Specification面板上,为art_no列设置Validation Expression为“gettext() <> ''”,设置Validation Message为“'art_no列不能为空'”
不要在dw的itemerror事件中写代码,如果非得写代码,当……
[/Quote]
mark
yyoinge
2011-12-02
打赏
举报
回复
方法(1)设置art_no列的edit下的Required属性为true
方法(2)在数据窗口的设计界面中的Column Specification面板上,为art_no列设置Validation Expression为“gettext() <> ''”,设置Validation Message为“'art_no列不能为空'”
不要在dw的itemerror事件中写代码,如果非得写代码,当列为art_no时,一定保证该事件返回值为0
xuam
2011-12-02
打赏
举报
回复
在itemerr 里写 rentrun 1
yyoinge
2011-12-02
打赏
举报
回复
可以跳到qty列吗
PowerBuilder28个属性、35个默认
事件
、162个函数
本的执行效率 *尽量不要在RetrieveRow
事件
下编写脚本(包括注释)。 *如果数据窗口的DoubleClicked
事件
中编写了脚本,那么在数据窗口的C1icked
事件
中的脚本应该尽量短,否则双击
事件
中的脚本永远不可能得到执行。一般来说,Cliked中脚本的执行时间和两次击鼠标之间的间隔时间之和,不应该大于操作系统中所设定的鼠标双击时间间隔,否则双击
事件
永远不可能触发,双击时仅仅是接连两次触发c1icked
事件
。 *在数据窗口中录入数据时,
事件
Edit
Change
d是触发频率最高的,每一个按钮都触发该
事件
;触发频率仅次于该
事件
的是
Item
Change
d
事件
和
Item
Focus
Change
d,只要修改了单元中的内容,每次触发
Item
Focus
Change
d
事件
都会触发
Item
Change
d
事件
。在这些
事件
下编写过长的脚本会非常影响录入工作的效率。同样,
事件
RowFocus
Change
d的触发频率也是相当高的。一般来说是可以避免在这四个
事件
中编写脚本的。
海典H1自定义
事件
框架浅说.doc
海典H1自定义
事件
框架浅说 1、窗口概述 2 2、窗口相关
事件
3 1、打开窗口 3 key
事件
4 timer
事件
4 2、保存数据 4 1、 pfc_begintran 4 3、 pfc_endtran 4 4、 Pfc_save 4 3、关闭窗口 4 3、数据窗口
事件
5 添加主表明细单据 5 取消之前的新建的单据 6 修改单据 6 Clicked
事件
6 DoubleClicked
事件
6 Constructor
事件
7 Dropdown
事件
7 Edit
Change
d标准
事件
7
Item
change
d标准
事件
7
Item
Focus
Change
d标准
事件
8 Rowfocuschanging 8 Rowfocus
change
d
事件
8 pfc_preupdate非标准
事件
8 pfc_predeleterow
事件
8 4、据查询的控制 9 yfc_retrieve
事件
9 yfc_preretrieve自定义
事件
9 retrievestart
事件
9 retrieveend
事件
9 5、自定义控件 10 uo_usercbs按钮组 10 ue_duo_events 10 6、打印 11 ue_打印 11 7、构建窗口与数据交换 11 1、
item
change
d
事件
弹出选择窗口 12 2、ue_transdata 自定义
事件
12 3、 用w_trans窗口 12
vs风格的Toolbox控件工具箱
VS风格的ToolBox和QQ的界面很相似,都是有多个栏目,并且这些栏目可以展开和折叠,当鼠标在某个子栏目上时,可以高亮显示,另外在VS风格的ToolBox中,点击选中项目的时候,要用特殊的颜色标识出来。 1. 创建控件的边框,我在前边的文章也讲过(),直接将代码复制过来,稍做修改即可。 2. 添加滚动条,因为我们的控件只需要垂直的滚动,所以我只只加入一个垂直的滚动条。 3. ToolBox包含多个Category,我们不但要创建Category类,还要创建这个类的集合。 4. 每一个Category包含多个
Item
,我们不但要创建ToolBox
Item
类,还要创建这个类的集合。 5. 重载OnPaint方法,绘制控件的内容,在绘制的时候要注意滚动条的当前值,由于采用了双缓冲机制,所以每次总是将所有的内容重绘一次,不考虑ClipRect。 6. 写一个方法,根据鼠标的坐标计算出鼠标指向的
Item
或者Category,这个方法是这个控件的核心。 7. 重载OnMouseMove方法,当鼠标指向某个
Item
的时候,高亮显示出来。 8. 重载 OnMouseDown方法,当鼠标在某个
Item
上按下的时候,用指定的颜色标识出来,如果鼠标按下的地方是一个Category,根据当前的情况展开或者时折叠这个category。 9. 计算控件当前状态的内容的总的高度,用于设置滚动条的可见与不可见。 10. 暴露一个属性,用于为用户提供当前选中的
Item
。 11. 声明一个
Item
Change
d
事件
,便于用户在选择另一个
Item
时添加处理的代码。 实现了上述的内容,这个控件也就基本完成了。由于代码并不复杂,我就不将代码列出来讲解了,我将提供代码的下载,大家在看代码的时候,如有不明白的地方,可以参考我前面的控件教程。因为只花了几个小时写的这个控件,难免还有一些问题,请大家指出。
进程&线程查看器
关于进程&线程查看器 用过vc++自带的Process Viewer,觉得这个小程序简单易用,有时候作用还很大,我就产生了自己做一个类似程序的想法,想着想着就着手作了起来。 首先我查看了有关进程和线程的api函数(在tlhelp32.h中)了解了他们的用法。 具体实施阶段: 界面设计:该实用程序的界面几乎完全参考vc++自带的Process Viewer,以前从未接触过CListView,这回是从头开始作,我参考了"MFC Windows程序设计"里面有详细的关于CListView的介绍和实例,不过有些地方它并未讲清楚,你只能看mfc源代码凭经验猜测某个函数的用法以及某些
事件
产生的消息,比如当所选
Item
改变时产生消息LVN_
ITEM
CHANGE
D,这个消息使我能在选中某一个
Item
时能通知线程视图更新。界面设计的另一个问题是分割窗口,这也是我第一次接触CSplitterWnd类,我使用了静态分割创建窗口的方法,以加入两个不同的视图其类分为:CThreadList和CProcessView. 下面简单介绍一下,该程序的功能正如其名,当你启动该程序时,它会检索当前在该系统中的进程和线程,并将进程的基本信息以列表的形式列出来,当你选中某一进程时,程序会在下面的线程视图中列出该进程的所有线程的基本信息。由于刚刚作玩,所以没有进行系统的测试,里面可能有一些bug希望用户发现后能与我联系,谢谢。
在dw的
item
change
d
事件
里面,修改当前参数data
原则上,在datawindow的
item
change
d这个
事件
中对这三个自带参数:dwo、row、data,是不能修改的,但是我们可以用post的方式对其进行修改, 曲线救国,如下情形: 这里的wf_add_inv(row,data,dwo_name)函数放在dw的
item
change
d
事件
中,并接受了其三个自带参数:dwo、row、data。 当我们要修改第row行某一列的值时,可以用:
DataWindow
609
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章