Получить Следующий Документ

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

  1. NickProstoNick

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

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Есть вид с документами.
    По клику открывается документ в диалоговом окне.
    Как организовать навигацию из диалога по виду?
    Нужно не закрывая диалог получить следующий или предыдущий документ
     
  2. lionk

    lionk Well-Known Member

    Регистрация:
    5 апр 2007
    Сообщения:
    308
    Симпатии:
    3
    Как вариант выводить через репит контрол, с отображением одного дока и юзать свойство indexVar.
     
  3. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Юзать ViewNamigator...

    Код (Text):
    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">


    <xp:viewPanel rows="30" id="viewPanel1" var="row">
    <xp:this.facets>
    <xp:pager partialRefresh="true" layout="Previous Group Next" xp:key="headerPager" id="pager1"></xp:pager>
    </xp:this.facets>
    <xp:this.data>
    <xp:dominoView var="view1" viewName="Log"></xp:dominoView>
    </xp:this.data>
    <xp:viewColumn columnName="$0" id="viewColumn1">
    <xp:viewColumnHeader value="Created" id="viewColumnHeader1"></xp:viewColumnHeader>
    </xp:viewColumn>
    <xp:viewColumn id="viewColumn3" columnName="Text">
    <xp:this.facets>
    <xp:viewColumnHeader xp:key="header" id="viewColumnHeader3" value="Text"></xp:viewColumnHeader>
    </xp:this.facets>
    </xp:viewColumn>
    <xp:viewColumn id="viewColumn2" displayAs="hidden">
    <xp:this.facets>
    <xp:viewColumnHeader xp:key="header" id="viewColumnHeader2"></xp:viewColumnHeader>
    </xp:this.facets>
    <xp:link escape="true" text="Show" id="link2">
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete" id="eventHandler1">
    <xp:this.action><![CDATA[#{java script:viewScope.put("unid", row.getUniversalID());getComponent("dialog1").show();}]]></xp:this.action>
    </xp:eventHandler>
    </xp:link>
    </xp:viewColumn>
    </xp:viewPanel>




    <xe:dialog id="dialog1">
    <xp:panel id="panelDialog1">
    <xp:this.data>
    <xp:dominoDocument var="doc" action="openDocument">
    <xp:this.documentId><![CDATA[#{java script:viewScope.get("unid")}]]></xp:this.documentId>
    </xp:dominoDocument>
    </xp:this.data>

    <xp:div>
    <xp:inputText id="inputText1" value="#{doc.text}"></xp:inputText>
    </xp:div>

    <xp:div>
    <xp:link escape="true" text="Edit" id="link5" rendered="#{java script:!doc.isEditable()}">
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
    <xp:this.action>
    <xp:changeDocumentMode mode="edit"></xp:changeDocumentMode>
    </xp:this.action>
    </xp:eventHandler>
    </xp:link>
    <xp:link escape="true" text="Save" id="link6" rendered="#{java script:doc.isEditable()}">
    <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="panelDialog1">
    <xp:this.action>
    <xp:actionGroup>
    <xp:saveDocument></xp:saveDocument>

    <xp:changeDocumentMode mode="readOnly"></xp:changeDocumentMode>
    </xp:actionGroup>
    </xp:this.action>
    </xp:eventHandler>
    </xp:link>
    </xp:div>

    <xp:div>
    <xp:link escape="true" text="Prev" id="link4">
    <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="panelDialog1">
    <xp:this.action><![CDATA[#{java script:var nav:ViewNavigator = database.getView("Log").createViewNav();
    nav.gotoEntry(doc.getDocument());
    var entry:ViewEntry = nav.getPrevDocument();
    if(entry != null) {
    viewScope.put("unid", entry.getUniversalID());     
    }
    }]]></xp:this.action>
    </xp:eventHandler>
    </xp:link>
    <xp:link escape="true" text="Next" id="link3">
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
    <xp:this.action><![CDATA[#{java script:var nav:ViewNavigator = database.getView("Log").createViewNav();
    nav.gotoEntry(doc.getDocument());
    var entry:ViewEntry = nav.getNextDocument();
    if(entry != null) {
    viewScope.put("unid", entry.getUniversalID());     
    }}]]></xp:this.action>
    </xp:eventHandler>
    </xp:link>
    </xp:div>

    </xp:panel>
    </xe:dialog>
    </xp:view>
     
  4. lionk

    lionk Well-Known Member

    Регистрация:
    5 апр 2007
    Сообщения:
    308
    Симпатии:
    3
    Если в представлении буде хоть какая то фильтрация (например поиск) то корректно листать по результатам не будет.
     
  5. NickProstoNick

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

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    есть фильтр по категории. отображаю через репитер

    Добавлено:
    Тогда уже не indexVar, а first
     
Загрузка...

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