在数据窗口 PowerBuilder 中移动值

问题描述 投票:0回答:2

我有一个包含 30 列的数据窗口,其中填充了一些数据。我想用一个位置向右移动每个值。基本上,我想将第 29 列的值复制到第 28 列,将第 27 列的值复制到第 28 列,依此类推。我怎样才能做到这一点?是否有用于在数据窗口中移动值的任何 PB 函数? 谢谢!

powerbuilder datawindow
2个回答
1
投票

首先,所有的列都是同一类型吗? (字符、日期、数字等) 如果他们是你可以做类似的事情

int i
long ll
string ls_val
FOR ll = 1 TO dwname.rowcount()
 i = 1
 DO WHILE i < 30
   //assumes columns are all char
   ls_val = dwname.getitemstring(ll, i + 1)
   dwname.setitem(ll,i,ls_val)
   i++
 LOOP
NEXT

现在这样做将更改数据窗口中每一行和每一列的 itemstatus 和 rowstatus。如果那很重要,您将需要重置它们。

如果列是不同的数据类型,你有一大堆工作要做,我会质疑你为什么首先要尝试这样做。重新设计数据窗口可能是更好的选择。


0
投票

如果要更新数据到数据库,按照Matt Balentssolution。如果它只是视觉上的,为什么不通过改变 x 位置来完全移动列?

© www.soinside.com 2019 - 2024. All rights reserved.