2016-06-01 2 views
0

Мой основной вид сортируется по столбцу с категорией. Я выбрал этот столбец для сортировки. В представлении категории нет заголовка столбца.Xpages: может сортировать DataView в столбце категории

В любом случае? Может быть, наложена кнопка, которая будет программировать программно?

<xe:dataView 
      id="dataView1" 
      style="margin-top:55.0px" 
      openDocAsReadonly="true" 
      var="entry" 
      rows="25" 
      columnTitles="true" 
      showCheckbox="true" 
      showHeaderCheckbox="true"> 
      <xe:this.data> 
       <xp:dominoView var="view1" 
        databaseName="scoApps\Spectrum\cashmarkData.nsf" 
        viewName="(view01)" 
        search="#{javascript:return sessionScope.searchString}" 
        sortColumn="author" /> 
      </xe:this.data> 
      <xe:this.summaryColumn> 
       <xe:viewSummaryColumn 
        columnName="subject" 
        columnTitle="Subject" /> 
      </xe:this.summaryColumn> 
      <xe:this.categoryColumn> 
       <xe:viewCategoryColumn 
        columnName="author" 
        columnTitle="Author" 
        style="font-weight:bold;font-size:14pt" /> 
      </xe:this.categoryColumn> 
      <xe:this.extraColumns> 
       <xe:viewExtraColumn 
        columnTitle="Date Created" 
        columnName="creationDate" 
        headerStyleClass="xspDataViewColumn150" 
        styleClass="xspDataViewColumn150" /> 
      </xe:this.extraColumns> 
      <xp:this.facets> 
       <xe:pagerExpand 
        id="pagerExpand1" 
        xp:key="pagerTopLeft" 
        partialExecute="true" 
        partialRefresh="true" 
        for="dataView1"> 
       </xe:pagerExpand> 
       <xp:pager 
        layout="Previous Group Next" 
        partialRefresh="true" 
        id="pager1" 
        xp:key="pagerBottomLeft" 
        partialExecute="true" /> 
       <xp:scriptBlock id="scriptBlock2" 
        xp:key="pagerBottom"> 
        <xp:this.value><![CDATA[$("table.dataview").addClass("table-striped table-hover table-bordered table-condensed")]]></xp:this.value> 
       </xp:scriptBlock> 
      </xp:this.facets> 
     </xe:dataView> 
+0

может не сделайте sortColumn полагаться на переменную sessionScope, и если она не установлена, это автор, но если вы нажмете на заголовок, он установит sessionScope и обновит представление данных –

ответ

0

Я сделал это раньше с помощью DataTable. В своей колонке я поставил столбец сортировки через ссылку

<xp:column id="column9"> 
        <xp:this.facets> 
         <xp:div id="div8" xp:key="header" styleClass="team"> 
          <xp:link escape="true" text="Team" id="link7" styleClass="sort"> 
           <xp:eventHandler event="onclick" submit="true" 
            refreshMode="partial" refreshId="dataTablePanel"> 
            <xp:this.action> 
             <xp:executeScript> 
              <xp:this.script><![CDATA[#{javascript:viewScope.sortColumn = "Team"}]]></xp:this.script> 
             </xp:executeScript> 
            </xp:this.action> 
           </xp:eventHandler> 
          </xp:link> 
         </xp:div> 
        </xp:this.facets> 
        <xp:text escape="true" id="computedField14"> 
         <xp:this.value><![CDATA[#{javascript:entry.getColumnValue("Team")}]]></xp:this.value> 
        </xp:text> 
       </xp:column> 

И в моем DominoView источника данных я вычислить sortColumn по

sortColumn="#{javascript:viewScope.get("sortColumn")}" 

Точка refreshId к панели вокруг моего DataTable

Смежные вопросы