关于Powerbuilder6中Datawindow column object问题,具体如下所示

1. 假设在Datawindow中,有a,b,c 3个columnobject, a的数据从dropdowndw拿回来, 现在我希望只在a选取不同结果时,出现一个messagebox提示, 而b, c不理会....请问应该怎样检查,还有应该在那一个event内检查?(itemchanged, itemfocuschanged, editchanged??)

2. a的数据从dropdowndw拿回来(拿回来时会有people,salary, workingplace 3个column的数值,可是在设置Display column和Data column时,只能显示其中一个column, 我希望使用dw_1.getitemstring(1, 'a') 时可以拿到people和salary的数值, 请问应该如何设置?

忽然笑
浏览 450回答 2
2回答

拉风的咖菲猫

1.在itemchanged内写代码choose case dwo.namecase 'a'...........messagebox('','')end choose2.获取资料dw_1.getitemstring都只会只有一个返回值你是想要达到什么样的功能?楼上的可以实现自动带出其他列的功能~

哔哔one

分别解答:1.根据你的描述这段代码写在ItemChanged事件中,先判断一下数值改变的列,再Messagebox一下,如果切换列触发的是ItemFocusChanged事件,如果编辑触发的是EditChanged事件,如果数值被修改并且失去焦点触发的就是ItemChanged事件;2.要想实现此功能需要使用子数据窗。第一步,在DataWindow的Constructor事件中定义一个DataWindowChild,用GetChild实例这个对象,使用Transobject为这个子数据窗设置事务,Retrieve这个子数据窗;第二步,在DataWindow的Itemchanged事件中也是先定义一个DataWindowChild,用GetChild实例这个对象,使用GetItemString或者其他的GetItem函数来获取需要获取的数值,再SetItem到需要改变的字段上,就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP