Обновление Datatable при кликньи подключенного к ней пейджера .

Тема в разделе "Lotus - Xpages", создана пользователем 11BOSS11, 17 янв 2011.

  1. 11BOSS11

    11BOSS11 Гость

    Есть DataTable, в нем вычисляется в сорсе масив который и присваивается этому тейблу.
    К DataTable подключен пейджер, вот.
    При листании пейджера в DataTable перещитывает соурс, вот хотя он ведь уже должен быть загружен, и просто перелистыватся, :lovecodeby:

    при обемах документов 10 000 нужно жадть по 20 секунд пока перещитается соурс..=(

    Можна ли как то сделать чтобы соурс DataTable высчитывался 1 раз при загрузке страници, а при листании пейджера просто отресовывал то тчо надо, без перещета соурса DataTable. :what?:
     
  2. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Как вариант, закэшировать можно...
    Код (Text):
    if(viewScope.get("myArray") == null){
    var newArray = {....}
    viewScope.put("myArray", myArray)
    return myArray
    }else{
    return viewScope.get(myArray)
    }
     
  3. 11BOSS11

    11BOSS11 Гость

    делал подобным образом:
    - создаю компютед филд, в нем вычисляю необходимый арей, запихиваю его в реквест скоуп; (вычисляю при загрузке страници!)
    - в дайта тейбле возвращаю из скоупа масив!(вычисляю динамически!)

    вот при загрузке страници все отлично подргужается в дейта тейбл, но при нажатии на пейджер дайта тейбл обнуляется и все, почему?
     
  4. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    Может быть можно поступить так....

    Создать в java bean Test
    прописать в faces-config.xml
    <managed-bean>
    <managed-bean-name>Test</managed-bean-name>
    <managed-bean-class>beans.Test</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

    создать в метод для определения dataSource
    public class Test {
    List dataSourse;
    public List getDataSource(){
    if (dataSourse!=null) return dataSourse;
    //... Получение dataSourse
    return dataSourse;
    }

    }

    Причем элементами List могут быть объекты.В прочем можно посмотреть тут
     
  5. 11BOSS11

    11BOSS11 Гость

    я так понимаю это делается для того чтобы на жава уже можно было работать с различными другими ресурсаси(как SQL базы например)и оперировать данными в нотсе..

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    как по мне - пэйджер должен "подчитывать" данные в датасорц, а не качать все сразу
     
  7. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    не обязательно SQL это может быть все что угодно. массив данных....
     
  8. 11BOSS11

    11BOSS11 Гость

    в дайта сорсе тейбла выесленная колекция , пейдежр стоит на 1й вкладке , показано в дайта тейбле 20 документо!
    при переходе на 2ю вкладку пейджера перещитывается весь дайта сорс дайта тейбла и отображается следущих 20 документов! вот

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


    Добавлено:
    ну я это понял что можна все что угодно, просто в моем случае мне кажется в этом нету необходимости, проблему то не решит.. :)
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    в "нормальном" случае - пэйжер для навигации по неподгруженным частям коллекции (для того он и создаётся)
     
  10. 11BOSS11

    11BOSS11 Гость

    ну хорошо, а обойти это можно?
    просто получается он не подргужает и счытает только выдимю часть колекции, а считает всю колекцию, а отображет видимкю.. вот...
    дейта соурс дайтатейбла пересчитывается полностью,..
     
  11. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    я не могу понять - зачем вам пэйджер, если колекцию берёте всю
    юзайте dojo grid (например)
     
Загрузка...

Поделиться этой страницей