hur.cn - 华软网

 热门搜索

求教:这个问题在pb界面上怎么解决??

  作者:未知    来源:网络    更新时间:2017/1/11
数据窗口A: 
工种  项目   数量1
A     P0      1
B     P0      1 
B     P1      1
C     P2      1
--------------------
数据窗口B:
工种  项目   数量2
A      P0     1
B      P0     1
C      P1     1
---------------------
现想把这两张数据窗口结合成一个数据窗口,形成如下形式的数据窗口C:
工种  项目   数量1   数量2
A     P0      1       1
      P1      0       0
      P2      0       0
B     P0      1       1
      P1      1       0
      P2      0       0
C     P0      0       0
      P1      0       1
      P2      1       0
------华软网友回答------
UP
------华软网友回复------
分组啊
------华软网友回复------
用group by 分组
------华软网友回复------
是的,主要看你怎么写sql了
这个和pb关系不大

------华软网友回复------
先将两个dw的数据存到两张临时表里,然后建一个以这两张表关联的group型的dw(按照工种分组),然后再对A列的visible写上计算式if(getrow()=first(列名 for group 1),1,0),注意数据里还要填上空的数据哦,比如A   P2      0       0
------华软网友回复------
还是分组好点!
------华软网友回复------
建数据窗c,含
工种  项目   数量1   数量2
options/suppress repeating  values  选工种

long ll_ii,ll_r1,ll_r2,ll_k
ll_r1 = dw_a.rowcount()
ll_r2 = dw_b.rowcount()
for ll_ii = 1  to ll_r1
   ll_k = dw_c.insertrow(0)
   dw_c.setitem(ll_k,'工种',dw_a.getitemstring(ll_ii,'工种'))
   dw_c.setitem(ll_k,'项目',dw_a.getitemstring(ll_ii,'项目'))
   dw_c.setitem(ll_k,'数量1',dw_a.getitemstring(ll_ii,'数量'))
next
for ll_ii = 1  to ll_r2
   ll_k = dw_c.insertrow(0)
   dw_c.setitem(ll_k,'工种',dw_b.getitemstring(ll_ii,'工种'))
   dw_c.setitem(ll_k,'项目',dw_b.getitemstring(ll_ii,'项目'))
   dw_c.setitem(ll_k,'数量2',dw_b.getitemstring(ll_ii,'数量'))
next
dw_c.setsort('工种 A,项目 B')
dw_c.sort()
------华软网友回复------
不好意思有点错误
建数据窗c,含
工种  项目   数量1   数量2
options/suppress repeating  values  选工种

long ll_ii,ll_r1,ll_r2,ll_k,ll_find
ll_r1 = dw_a.rowcount()
ll_r2 = dw_b.rowcount()
for ll_ii = 1  to ll_r1
   ll_k = dw_c.insertrow(0)
   dw_c.setitem(ll_k,'工种',dw_a.getitemstring(ll_ii,'工种'))
   dw_c.setitem(ll_k,'项目',dw_a.getitemstring(ll_ii,'项目'))
   dw_c.setitem(ll_k,'数量1',dw_a.getitemstring(ll_ii,'数量'))
next
for ll_ii = 1  to ll_r2
   ll_find = dw_c.find("工种 = '"+dw_b.getitemstring(ll_ii,'工种')+"' and 项目='"+dw_b.getitemstring(ll_ii,'项目')+"'",1,ll_r1)
   if ll_find>0 then
      dw_c.setitem(ll_find,'数量2',dw_b.getitemstring(ll_ii,'数量'))
      continue
   end if
   ll_k = dw_c.insertrow(0)
   dw_c.setitem(ll_k,'工种',dw_b.getitemstring(ll_ii,'工种'))
   dw_c.setitem(ll_k,'项目',dw_b.getitemstring(ll_ii,'项目'))
   dw_c.setitem(ll_k,'数量2',dw_b.getitemstring(ll_ii,'数量'))
next
dw_c.setsort('工种 A,项目 B')
dw_c.sort()

------华软网友回复------
最简便方法:按一般规律设计数窗,然后应用Rows->Specify Repeating Value…,把工种列拉到右侧Suppression List中,OK,保存,就可以了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。