Xpages viewScope за сортиране на повтаряща се контролна колона

Опитвам се да щракна върху връзка и да сортирам изглед по колона в повторение, като използвам viewScope с пълно опресняване на SSJS (опитах и ​​частично опресняване на контролата за повторение, на таблицата вътре и на панела, заобикалящ цялото нещо). Когато щракна върху него, той освобождава контролата за повторение и изчиства данните. какво правя грешно Неизбежно искам да използвам това в заглавката на заглавния фасет на повтарящите се панели.

<xp:link escape="true" text="Sort by DoorName" id="link1">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="complete">
            <xp:this.action><![CDATA[#{javascript:viewScope.put("col","DoorName")}]]></xp:this.action>
        </xp:eventHandler></xp:link>

    <xp:panel style="width:99.0%">      
        <xp:repeat id="repeat2" rows="500" var="rowdoc2"
            repeatControls="true" value="#{view2}">
            <xp:this.facets>
                <xp:text disableTheme="true" xp:key="header"
                    escape="false">
                    <xp:this.value>
                        <![CDATA[<table class="simple">
                        <th style="width:200px">TITLE</th>
                        <th style="width:200px">2nd HEADER</th></table>]]>
                    </xp:this.value>
                </xp:text>
            </xp:this.facets>
            <xp:table style="width:100.0%" styleClass="simple">
                <xp:tr>
                    <xp:td style="width:200px">
                        <xp:text escape="true" id="computedField2"
                            value="#{rowdoc2.DoorName}">
                        </xp:text>
                    </xp:td>

                    <xp:td style="width:200px">
                        <xp:text escape="true" id="computedField1"
                            value="#{rowdoc2.DoorDesc}">
                        </xp:text></xp:td>
                </xp:tr>
            </xp:table>
        </xp:repeat>

    </xp:panel>

РЕДАКТИРАНЕ>>>>>Поставих "col" изчислената стойност на колоната за сортиране на данните на XPAGE. Може би това е частта, която не е правилна.

    <xp:this.data>      
    <xp:dominoView var="view2" viewName="Doors">
        <xp:this.sortColumn><![CDATA[#{javascript:viewScope.get("col")}]]></xp:this.sortColumn>
    </xp:dominoView>
</xp:this.data>

person m benway    schedule 13.11.2019    source източник
comment
Задавате променливата viewScope col във вашия манипулатор на събития, но къде я използвате?   -  person Per Henrik Lausten    schedule 13.11.2019
comment
Добра точка. Не съм показал тази част. Редактирах това по-горе   -  person m benway    schedule 13.11.2019


Отговори (1)


Просто изтрийте свойството repeatControls="true" на repeat и то ще работи според очакванията.

Това свойство кара повтарящите се компоненти да се изобразяват само при зареждане на страницата. Можете да намерите добро обяснение тук

person Knut Herrmann    schedule 16.11.2019