XPages - как показать все записи в xp: повторить контроль всего один раз?

@Sam, ваша точка отличная в концепции, но я думаю, что вы неправильно поняли, что говорят документы MySQL на ссылочной странице, или я неправильно понимаю :-) - и я просто хотел добавить это, чтобы, если кто-то чувствует себя некомфортно с ответом @ Даниэля, они будут более успокоиться или хотя бы немного углубиться.

Вы видите, что «@curRank: = @curRank + 1 AS rank» внутри SELECT не является «одним утверждением», , это одна «атомная» часть заявления, поэтому она должна быть безопасной.

В документе, к которому вы ссылаетесь, приводятся примеры, в которых одна и та же пользовательская переменная в 2 (атомных) частях инструкции, например, «SELECT @curRank, @curRank: = @curRank + 1 AS ранг ".

Можно утверждать, что @curRank используется дважды в ответе Даниэля: (1)« @curRank: = @curRank + 1 AS rank »и (2)« (SELECT @curRank : = 0) r ", но поскольку второе использование является частью предложения FROM, я уверен, что он будет оценен первым; что делает его вторым и предыдущим.

Фактически, на той же странице документов MySQL, на которую вы ссылались, вы увидите то же самое решение в комментариях - это может быть, где @Daniel получил это из; да, я знаю, что это комментарии, но это комментарии на официальной странице документов и которые несут некоторый вес.

0
задан Malin 4 March 2019 в 13:17
поделиться

3 ответа

Вы пробовали?

<xp:this.rows><![CDATA[#{javascript:var vw:NotesView = database.getView("myTodoList");
return vw.getAllEntriesByKey(sessionScope.get("userFilter"),true).getCount().toFixed();}]]></xp:this.rows>
0
ответ дан Patrick Kwinten 4 March 2019 в 13:17
поделиться

Свойство rows на самом деле просто устанавливает «отсечение» при запуске подкачки. Вместо того, чтобы (в значительной степени) вычислять текущий размер представления, просто установите для него «достаточно большое» значение. Магическая константа "9999" сработала для меня, но MAX_INT - это предел, я думаю.

Имейте в виду, что для огромного объема данных визуализация вашей страницы займет некоторое время, поэтому вы определенно БУДЕТЕ вызывать проблемы с производительностью.

Кроме того, существует внутреннее ограничение ~ 10 тыс. Ссылок API C-интерфейса для классов Java Notes * - при ударе сервер / клиент АВАРИИ. Вы должны быть в безопасности с чистыми компонентами XSP. Как только вы добавите в свои страницы дополнительный код, который использует классы Notes * (и не перерабатывает), особенно внутри циклов / повторов, ваш лимит составит лишь часть этого значения.

0
ответ дан Frantisek Kossuth 4 March 2019 в 13:17
поделиться

Вам необходимо получить количество элементов из DominoView, а не rowCount из модели данных компонента.

Вы можете быть осторожны с тем, что вы хотите здесь сделать, представление может быть ОЧЕНЬ большим, а взаимодействие с пользователем - плохим.

Расширение lib имеет «infiniScroll», который может быть более подходящим для того, что ожидает пользователь.

0
ответ дан stwissel 4 March 2019 в 13:17
поделиться