Как я могу получить доступ к повторному контролю извне? В моем случае я хочу рассчитать некоторые дополнительные значения для элементов в регуляторе повтора и обновить каждый элемент с помощью jquery.Как получить доступ к повторному управлению извне, например, через CSJS
ответ
В SSJS вы всегда получаете доступ к компоненту с помощью getComponent («id»). Если ваше содержимое повторения является просто представлением, чем определением источника данных представления на уровне XPage, а не повторением, и вы можете использовать идентификатор источника данных для получения объекта вида, т. Е. View1.
Из SSJS вы можете получить доступ к самому управлению повтором через getComponent(). Однако, если вы хотите получить доступ к компонентам в течение повтора, это становится более сложным.
Поведение по умолчанию состоит в том, чтобы создать единую «строку» компонентов для повтора, а затем, на этапе визуализации рендера, перебрать их для генерации соответствующего HTML для соответствующего количества строк (rows
свойство повторного управления) из соответствующей начальной точки (first
свойство повторного управления, которое может быть увеличено пейджером), выбор данных из соответствующих данных (value
свойство повтора).
Если повтор имеет repeatControls="true"
, при загрузке страницы среда выполнения создает набор элементов управления для соответствующего количества строк (rows
свойство повторного управления). Однако доступ к ним может все еще быть проблемой. Это также устранит возможность использования пейджера.
Если вы хотите манипулировать, например. соответствующие записи в режиме повтора, одним из вариантов может быть загрузка в viewScope идентификатора UNID/Note через вычисляемое свойство в каждой строке. Например.
rendered="#{javascript:if (view.isRenderingPhase()) {
if (idex == 1) viewScope.put("myVar", new java.util.ArrayList());
viewScope.get("myVar").add(entry.getNoteID());
return true;
} else {
return true;
}"
Это инициализируется (или повторно инициализируется) переменная viewScope, если это первая строка (пожалуйста, перепроверить первый ряд имеет idex
, как 1, idex
будет именем переменным вы определяете для indexVar
свойства контроля повторного) и добавляет NoteID в список. Таким образом, элемент 0 является идентификатором NoteID первой строки, элементом 1 - идентификатором примечания второй строки и т. Д.
Если вы хотите управлять значениями, вы можете использовать аналогичный подход, используя динамическое связывание. Существуют различные вопросы о StackOverflow о динамическом привязке для повторных элементов управления, а также сообщения в блогах, возможно, Тимом Трисконном или Джесси Галлахер.
Помимо этого, CSJS может быть самым простым способом манипулирования содержимым повтора. Просто имейте в виду, что если вы выполняете частичное обновление, refreshId которого является повторением, оно может заменить все, что вы сделали на стороне клиента.
или использовать getClientID() –
- 1. Доступ к пользовательскому управлению извне
- 2. Как получить доступ к повторному поддереву в ANTLR4 через посетителя?
- 3. фильтрация/поиск по повторному управлению
- 4. Как получить доступ к управлению в viewmodel
- 5. Как получить доступ к управлению текущей вкладкой?
- 6. Не удается получить доступ к управлению FXML
- 7. Доступ к управлению XAML через C#
- 8. Доступ к календарному управлению через Javascript
- 9. Доступ к управлению доступом через код
- 10. Доступ к управлению, ajax, asp.net
- 11. Как получить доступ к DbContext извне контроллера?
- 12. Как получить доступ к функциям OpenCart извне рамки?
- 13. Доступ к реальному состоянию извне
- 14. доступ к управлению mdi динамически
- 15. Доступ к hdfs извне кластера
- 16. Как добавить CSJS, например XSP.partialRefreshGet, к событию onComplete для eventHandler?
- 17. Не удается получить доступ к Tomcat извне
- 18. Не удается получить доступ к Apache извне
- 19. Доступ к управлению внутри ControlTemplate
- 20. Доступ к переменной извне функции?
- 21. Доступ к DevFabric извне Localhost
- 22. Как получить доступ к управлению внутри datagrid ColumnHeaderStyle?
- 23. Доступ к управлению в методах
- 24. Доступ к объекту извне AsyncTask
- 25. Доступ к локальной системе извне
- 26. Доступ к phpldap admin извне
- 27. Как успешно получить доступ к веб-сервису извне сервера?
- 28. Доступ к изображению извне div
- 29. Доступ к файлу WAR извне
- 30. Доступ к Sharepoint извне WebUI
Вы можете дать элементам класс и использовать $ (". Classname") .., чтобы делать с ними что-то. – user2808054
OK Я понимаю, что нужно работать. Есть ли альтернатива SSJS, которую вы, возможно, знаете? – Malin
Я немного запутался - jquery - это клиентская библиотека, поэтому он должен запускаться в браузере после загрузки страницы. SSJS был бы серверным (конечно), поэтому никакой jquery, доступный там ..., где проблема? вам нужно что-то вроде jquery, но для серверной стороны? Я думаю, ответ будет просто больше SSJS – user2808054