AddDropDownItem PeopleCode

Я нашел этот 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;

Моя проблема в том, что я не знаю точно, в какое событие в коде людей я должен вставить это.

То, что я хочу достичь, это что-то вроде этого:

Пользователь выберет дату. Когда дата до июня 2018 года, он отображает набор выпадающих элементов. Однако, если выбранная дата наступает 1 июня 2018 года или после этой даты, будет отображаться другой набор элементов раскрывающегося списка.

1 ответ

Итак, вы хотите, чтобы раскрывающийся список изменялся при изменении даты, если я правильно понял. Затем вы должны поместить свой код в событие FieldChange для поля даты.

В PeopleSoft у вас есть событие Record.Field.FieldChange и Component.Record.Field.FieldChange. Событие Record.Field.FieldChange будет срабатывать всякий раз, когда это поле изменяется, независимо от того, в каком компоненте оно находится. В то время как Component.Record.Field.FieldChange PeopleCode срабатывает только при изменении этого поля в компоненте, в котором вы сохранили код.

В вашем случае вы, скорее всего, захотите его в событии Component.Record.Field.Fieldchange, так как ваша логика звучит в зависимости от компонента \ страницы.

Другие вопросы по тегам