我在某个地方找到了这个PeopleCode,上面写着它可以在下拉列表中动态添加项目:
Component number &rownum;
Local SQL &SQL;
Local Rowset &rset0, &rset1;
Local String &type, &descr;
&rset0 = GetLevel0();
&rset1 = &rset0(1).GetRowset(Scroll.LEVEL1_REC);
&FLD = &rset1(&rownum).GetRecord(Record.LEVEL1_REC).GetField(Field.LEVEL1_REC_FIELD);
&FLD.ClearDropDownList();
&SQL = CreateSQL("SELECT A.TYPE, A.DESCR FROM PS_ABCD_TBL A WHERE A.EFF_STATUS = 'A' AND SOME CONDITION");
While &SQL.Fetch(&type, &descr)
&FLD.AddDropDownItem(&type, &descr);
End-While;我的问题是,我不知道我应该把它放在problem代码中的哪个事件中。
我想要实现的东西是这样的:
用户将选择日期。当日期在2018年6月之前时,它会显示一组下拉项。但是,如果所选日期为2018年6月1日或之后,它将显示另一组下拉列表项。
发布于 2018-06-28 02:51:46
因此,如果我理解正确的话,您希望在日期更改时更改下拉列表。然后,您应该将代码放入日期字段的FieldChange事件中。
在PeopleSoft中有Record.Field.FieldChange事件和Component.Record.Field.FieldChange。无论该字段位于哪个组件中,只要该字段发生更改,就会触发Record.Field.FieldChange事件。而Component.Record.Field.FieldChange PeopleCode仅在您保存代码的组件中的该字段发生更改时触发。
在您的例子中,您可能希望在Component.Record.Field.Fieldchange事件中使用它,因为您的逻辑听起来是特定于组件\页面的。
https://stackoverflow.com/questions/51047595
复制相似问题