Peoplesoft набор строк
Я новичок в peopleoft. Мне нужна помощь в понимании набора строк, и у меня есть требование, где у меня есть 3 уровня.
На уровне 1 у меня есть флажок, и когда я открываю компонент, значение флажка на уровне 1 должно быть передано и отображено в сетке уровня 2 для всех строк.
Например
уровень0 - запись1 уровень1 - запись2 (область прокрутки)
уровень2 - запись3 (сетка)
Когда я захожу на страницу, она должна иметь такие значения
Record2.field1 = Y => Row1 Record3.field1 = Y Row2 Record3.field1 = Y
Record2.field1 = N => Row1 Record3.field1 = N
Я написал код на уровне level2 record.field rowinit peoplecode event. но проблема в том, что то же поле записи используется и на уровне 0. Есть ли способ избежать использования цикла for, поскольку в сетке может быть n строк, что может привести к проблемам с производительностью при открытии страницы.
Заранее спасибо,
1 ответ
Rowinit будет стрелять для каждого ряда в свитке. Так что если у вас есть цикл в rowinit, цикл будет выполняться для каждой строки.
Если вы хотите, чтобы флажок устанавливался только во время загрузки компонента, вы можете добавить код пользователя в компоненте 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;