我对peoplesoft很陌生。我需要一个帮助理解行集,我有一个要求,我有3个级别。
在第1级上,我有一个复选框,当我打开一个组件时,应该将第1级上的复选框的值传递给所有行并显示到第2级网格中。
例如
level0 - record1 level1 - record2 (涡旋区)
level2 - record3 (网格)
当我访问页面时,它应该有如下所示的值
记录2.field 1=Y => Row1 Record3.field 1=Y Row2 Record3.field 1=Y
Record2.field 1=N => Row1 Record3.field 1=N
我在level2 record.field rowinit peoplecode事件中编写了代码。但问题是,在0级中也使用了相同的记录字段。是否有一种方法可以避免使用for循环,因为网格中可能有n个行,这可能会在页面打开期间造成性能问题。
提前谢谢你,
发布于 2017-04-18 20:28:23
Rowinit将为滚动中的每一行触发。因此,如果您在rowinit中有一个循环,那么循环将对每一行执行。
如果只希望在组件加载期间设置复选框,则可以在组件PostBuild中添加peoplecode。
&rsLevel1 = GetLevel0()(1).GetRowSet(Scroll.Level1);
for &nCnt1 = 1 to &rsLevel1.activerowcount
&rsLevel2 = &rsLevel1(&nCnt1).GetRowset(Scroll.Level2);
for &nCnt2 = 1 to &rsLevel2.activerowcount
&rsLevel2(&nCnt2).Level2.Check_box.value = &rsLevel1(&nCnt1).Level1.Check_box.value
end-for;
end-for;https://stackoverflow.com/questions/43251401
复制相似问题