你的另一个数据窗口是什么类型,还有,另一个数据窗口的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点击行的内容