【问题标题】:Peoplesoft rowsetPeoplesoft 行集
【发布时间】:2017-04-06 09:41:06
【问题描述】:

我是 peoplesoft 的新手。我需要帮助来理解行集,并且我有 3 个级别的要求。

在第 1 级我有一个复选框,当我打开一个组件时,第 1 级复选框的值应该被传递并显示到所有行的第 2 级网格。

例如

level0 - 记录 1 level1 - record2(滚动区域)

level2 - record3(网格)

当我访问该页面时,它应该具有这样的值

Record2.field1 = Y => Row1 Record3.field1 = Y Row2 Record3.field1 = Y


Record2.field1 = N => Row1 Record3.field1 = N


我已经在 level2 record.field rowinit peoplecode 事件中编写了代码。但问题是在级别 0 中也使用了相同的记录字段。有没有一种方法可以避免使用 for 循环,因为网格中可能有 n 行,这可能会在页面打开期间造成性能问题。

提前致谢,

【问题讨论】:

    标签: peoplesoft peoplecode


    【解决方案1】:

    Rowinit 将为滚动中的每一行触发。因此,如果您在 rowinit 中有一个循环,则将为每一行执行循环。

    如果您希望仅在组件加载期间设置复选框,您可以在 Component PostBuild 中添加人员代码。

    &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;
    

    【讨论】:

      猜你喜欢
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多