обработка страницы в подфайле одной страницы - PullRequest
0 голосов
/ 04 марта 2010

Я не могу обработать опцию перехода на страницу вверх в отдельном подфайле страницы .... не знаю, как вернуться к предыдущему рн, чтобы можно было отобразить предыдущую страницу ....

Ответы [ 2 ]

1 голос
/ 01 апреля 2014

Простейшим может быть использование FETCH NEXT FOR sflRows... при пейджинге вперед и FETCH RELATIVE previousSflRows FOR sflRows... при пейджинге назад. Вы установите переменную sflRows равной количеству строк субфайлов, которые у вас есть на одной странице. И установите значение PreviousSflRows в два раза больше этого числа, но сделайте его отрицательным.

Таким образом, с SFLPAG = 10 вы можете FETCH 10 строк за раз в будущем. После первой страницы позиция файла будет в строке 11. После страницы 2 она будет в 21; и после страницы 3 на 31.

В то время, если пользователь хочет вернуться на страницу, значение prevSflRows приведет к тому, что FETCH прочитает строки, начинающиеся с (31 - 20) или позиции файла 11. Это именно то место, где это было в первый раз была показана страница 2 подфайла.

1 голос
/ 05 марта 2010

Требуемая логика:

  • Проверьте индикатор клавиши раскрутки
  • Если этот индикатор верный, очистите ваш подфайл
  • Ваш файловый указатель должен вернуться на 13 (любых) строк назад. Сделайте это с readb, setll, chain и recordnumber, или с чем-то еще (это на ваше усмотрение)
  • Перестройте свой подфайл

НЕ ЗАБУДЬТЕ сбросить номер своего подфайла !!!!!!!!!!!

Для небольших файлов сразу создать полный подфайл и позволить iSeries выполнять обработку намного проще.

...