如何得到datawindow中,选定的几行的指定的某几列的数据,并显示到一个弹出的一个window中?

xmouse_2001 2002-10-23 11:30:57
如何得到datawindow中,选定的几行的指定某几列的数据,并显示到一个弹出的一个window中?

如:datewindow中,有20行,3列。

我选中其中2至5行(选定行以高亮显示),双击,弹出一个window,window的datawindow上显示2、3、4、5行第一列和第二列的数据。
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huihuishou 2002-10-25
  • 打赏
  • 举报
回复
上面的代码更正一下,第三行多了一个any
②在子窗口的dw_test_child的constructor事件中:
long ll_row,ll_currow
string ls_col1,ls_col2
any //把这行去掉,我忘了去掉了。

另外,如果你弹出窗口中的数据窗口控件是只读的,那么我这种方式可以参考;如果是可以编辑保存的,那么我这种方式就不可取,那就要采用楼上小强的办法了。
andyzq 2002-10-25
  • 打赏
  • 举报
回复
思路:
用rowscopy()函数把选中的行和列先考到一个datastore中,在把打datastore
中的数据考到要打开的window中
huihuishou 2002-10-25
  • 打赏
  • 举报
回复
设父窗口:w_test,包含的数据窗口为dw_test
弹出的子窗口w_test_child,包含的数据窗口为dw_test_child
假设第1、2列字段类型为string

①在打开子窗口之前先做一个判断,判断是否选中了行
if dw_test.getselectrow(0)=0 then
messagebox("错误操作提示","您还没有选中行")
else
open(w_test_child,w_test)
end if


②在子窗口的dw_test_child的constructor事件中:
long ll_row,ll_currow
string ls_col1,ls_col2
any
ll_row=w_test.dw_test.getselectedrow(0)
if ll_row>0 then
do
ll_currow=this.insertrow(0) //插入新的一行
ls_col1=w_test.dw_test.getitemstring(ll_row,"colunm1")
this.setitem(ll_currow,"column1",ls_col1)
ls_col2=w_test.dw_test.getitemstring(ll_row,"column2")
this.settiem(ll_currow,"column2,"ls_col2)
ll_row=w_test.dw_test.getselectedrow(ll_row) //再次寻找被选中的行
loop while ll_row>0

//如果该数据窗口是只读性质
this.Object.DataWindow.readonly=True

return
-------------------------------------------------------------
昨天晚上写好后突然连不上了,CSDN这几天真是不稳定。

我写的这个循环,不论你选择的行连续不连续,都可以得到所有选择的行。
我没有调试过,如果有拼写错误,见凉!
xmouse_2001 2002-10-24
  • 打赏
  • 举报
回复
但是选择的行不一定是连续的,可能是2,4,6,8
我该如何记录呢?
xavier_lee 2002-10-24
  • 打赏
  • 举报
回复
把选择的记录ID保存在不定数组中ID[],在DATAWINDOW CONTROL的CLICKED!事件下:
记数(2、3、4、5)四后,OPEN(窗口);
——
在窗口中,SHARED TO DATAWINDOW FROM SOURCE DW;
——
ID[]=》ID[1],ID[2],ID[3],ID[4]……
拼出条件语句SETFILTER(),然后RETRIEVE()。
ice2water 2002-10-24
  • 打赏
  • 举报
回复
选行用isselect(),选列不清楚
xmouse_2001 2002-10-24
  • 打赏
  • 举报
回复
up

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧