PB 当单击数据窗口某一行时,当前数据行数据在另一个数据窗口中显示 , 请教各位高手, 怎么实现

 我来答
hit_lubin
2011-07-21 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:1999万
展开全部
你的另一个数据窗口是什么类型,还有,另一个数据窗口的dataobject的内容(就是select的字段数量和顺序)和当前的是否一样。
如果是一样,可以使用rowscopy。
比如点dw_1,在dw_2显示。
在dw_1的clicked事件里写:
dw_2.reset() //清空dw_2
this.rowscopy(row,row,primary!,dw_2,1,primary!)//复制点击行到dw_2。

另外,如果你的dw_2是freedom,这个更好,可以直接使用dw_1.sharedata(dw_2),写在open里或者dw_1的retrieveend(dw_1执行查询后触发的事件)里,表示两个数据窗口贡献数据。dw_1是看到所有的,用grid类型,就是一页多行,而dw_2是freedom,是一页一行,这样点击dw_1,dw_2同步显示。在dw_1的clicked事件里写dw_2.scrolltorow(row)就行了。

还有,如果两个dataobject的select字段不一样,那么就只能使用getitem和setitem了。
比如dw_1里面有emp_id, emp_name,而dw_2只有emp_name。
在dw_1的clicked事件中写:
dw_2.reset() //清空dw_2
dw_2.insertrow(0) //增加行
dw_2.emp_name[1] = dw_1.emp_name[row] //设置dw_2的内容等于dw_1点击行的内容
追问
不行啊,我试了最后那种方法   dw_2.emp_name[1] = dw_1.emp_name[row]  这一句报错啊!!!
追答
object
dw_2.object.emp_name[1] = dw_1.object.emp_name[row]
不好意思,不小心忘写上了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式