Repeat Control

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

  1. 11BOSS11

    11BOSS11 Гость

    Можна ли в репит контрол загнать колекцию документов и высвечивать документы как в виде, чтобы были столбци(в которые будет заносится инфа с определенных полей ) ??
     
  2. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Проще некуда ;)
    В репите в AllProperties->data->value вбиваешь источник данных (какая-либо колекция).
    Например нечто подобное:
    Код (Text):
    var v = database.getView("myView");
    v.getAllDocumentsByKey("testKey");
    Там же в AllProperties->data указываешь var - имя переменной в которой будут храниться документы. Например "currentRow".
    Далее во внутрь репита добавляешь поле и у него на табе Value выбираешь JavaScript (через Expresion Language или Simple Data Binding тоже можно связать поле) и указываешь currentRow.getItemValue("ItemName").
     
  3. 11BOSS11

    11BOSS11 Гость

    у меня есть строеный вид в Хпеж в нем сортированые столбци, и есть репит контрол ниже, оба они используют документы с одинакового вида.
    И когда я нажываю сортировку в виде по орпеделенному столбцу, то в репите тоже все сортируется.. странно как то..
    в чем может быть проблема? :fuckyou:
     
  4. 11BOSS11

    11BOSS11 Гость

    как на жава скрипет мне вернуть в репит контрол колекцию документов обобраных по двум разным формам?
    допустим: doc и pr :fuckyou:
     
  5. 11BOSS11

    11BOSS11 Гость

    еще вопросик:
    как сформировать колекцию документов для репит контрола с документов по двум формам, находящимся в разных базах?? :fuckyou:
     
  6. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Что значит документы с одинакового вида?

    Попробуй сделать отдельные Datasource для встроеного вида и для репита, и для одного из Datasource укажи ignoreRequestParams=true.
     
  7. 11BOSS11

    11BOSS11 Гость

    с одного итожо же вида...просто я сделал вид с помощю ВЮконтрола, а теперь пытаюсь сделать аналог с помощю репитконтрола..

    чтото я не наблюдаю такого параметра: ignoreRequestParams=true. в репет контроле.. :fuckyou:
     
  8. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Репеат позволяет отбразить колекцию ЛЮБЫХ java объектов.
    Это может быть:
    колекция NotesDocumen'от
    колекция NotesViewItem'от
    колекция явовских объектов (Bean'ов) - простейший пример java.util.TreeSet содержащий несколько стрингов String.

    Репит соответственно для каждого объекта сгенерирует интерфейс который и отобразится пользователю в броузере.

    Для того чтобы отобразить в одном репите документы из нескольких вьювов надо в Repeat->Binding data source->Java Script вбить примерно следующее:
    Код (Text):
    var view1 = database.getView("RegistrationTasks");
    var dc1 = view1.getAllDocumentsByKey("Key1");
    var view2 = database.getView("LabTasks");
    var dc2 = view2.getAllDocumentsByKey("Key2");
    dc1.merge(dc2);
    return dc1
    Соответственно view1 и view2 могут находиться в различных базах!!!


    Добавлено:
    Он не в репит контроле, а в датасоурсе - All Properties->data->dominoView[x].ignoreRequestParams.
    Поэтому и надо сделать два отдельных датасоурса.
     
  9. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Команда dc1.merge(dc2) разве позволяет оперировать объектами из разных БД?

    Добавлено:
     
  10. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Вот он опыт... :fuckyou:

    Значит для объединения двух колекций доскументов из разных баз надо использывать какой-нибудь другой способ.
    Вечерком напишу.
     
  11. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Хм... в коллекцию по моему никак...
    Тут танцы с бубнами... 2 коллекции и обрабатывать каждую по очереди...
     
  12. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Мда.... Хотел порекламировать xPages, что бы народ активнее их изучал и этот подворум ожил. А лотус мне такую пакость с этим documentColection.merge(documentColection) подсунул.
    Точно помню, в какой-то рекламке очень сильно акцентировалось внимание как раз на возможносте в одном Repeat Control отображать докменты из разных вьювов/баз.
    Но как это сделать "по человечески" в рекламной статье разумеется написано не было.
    Хотя, может там упоминались только вьювы....

    Вобщем, если вьювы в одной базе, то dc1.merge(dc2) прекрасно работает. Если вьювы в разных база, то возможен такой вариант:

    Код (Text):
    var result = new java.util.Vector();

    var v = database.getView("viewName");
    var ec = v.getAllEntries();

    var e = ec.getFirstEntry();
    while(e != null){
    result.add(e); 
    e = ec.getNextEntry(); 
    }


    var db2 = session.getDatabase(null, "db2.nsf");
    v = db2.getView("otherViewName")
    ec = v.getAllEntries();

    e = ec.getFirstEntry();
    while(e != null){
    result.add(e); 
    e = ec.getNextEntry(); 
    }

    return result
    Ну а в сам репит вставляем:
    Код (Text):
    <xp:inputText id="inputText1" value="#{java script:row.getDocument().getItemValueString('f1')}"></xp:inputText>
     
  13. 11BOSS11

    11BOSS11 Гость

    всем спасибо!!=) :)
    С дейта сорсом разобралсО))

    А теперь нужно как то сделать стилистику и функционал репита такой же как и в въюхе(или макс приблеженный)..

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

    11BOSS11 Гость

    я сделал репит в репите,. получилось,что первый репит идет для титлов колумов, а вот как сделать чтобы при их нажатии можна былобы сортировать второй репит?
     
  15. 11BOSS11

    11BOSS11 Гость

    ну пейджер я прикрутил...
    нужна категоризация и сортировка по определенным столбцам, если это вообще возможно в репите!?? <_<
     
  16. 11BOSS11

    11BOSS11 Гость

    очень даже как.. :)
     
  17. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Нашёл как это сделать по человечески?
    Потому что мною приведённый вариант всё же ближе к "танцам с бубнами"...
     
  18. 11BOSS11

    11BOSS11 Гость

    ну вот таким вотс вариантом все нормлаьно работает, зачем ешо чтото придумівать?:

    Код (LotusScript):
    var view1 = database.getView("RegistrationTasks");
    var dc1 = view1.getAllDocumentsByKey("Key1");
    var view2 = database.getView("LabTasks");
    var dc2 = view2.getAllDocumentsByKey("Key2");
    dc1.merge(dc2);
    return dc1


    Добавлено:
    а если для обектов с разніх баз колекции можно не место мержа апендом склеивать.
     
  19. 11BOSS11

    11BOSS11 Гость

    еще один вопросик:
    как доступатся к n-й строчке репита? можно ли менять местами строчки репитконтрола?
     
  20. 11BOSS11

    11BOSS11 Гость

    Код (LotusScript):
    var result = new java.util.Vector();

    var v = database.getView("viewName");
    var ec = v.getAllEntries();

    var e = ec.getFirstEntry();
    while(e != null){
    result.add(e)
    e = ec.getNextEntry()
    }


    var db2 = session.getDatabase(null, "db2.nsf");
    v = db2.getView("otherViewName")
    ec = v.getAllEntries();

    e = ec.getFirstEntry();
    while(e != null){
    result.add(e)
    e = ec.getNextEntry()
    }

    return result
    да уж... такой вариант чегото не хочет работать, ошибка в 23 строке, возварщает 0 доков врезальте.. :gigi:
    как же его можно подругому сделать? :what?:
     
Загрузка...
Похожие Темы - Repeat Control
  1. NickProstoNick
    Ответов:
    15
    Просмотров:
    477
  2. ty3uk
    Ответов:
    0
    Просмотров:
    293
  3. doka
    Ответов:
    2
    Просмотров:
    1.327
  4. doka
    Ответов:
    2
    Просмотров:
    2.281
  5. admin
    Ответов:
    3
    Просмотров:
    5.731

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