2017-10-10 73 views
0

我有一個UI5表。我想用「Quatity」字段(升序)對我的表格排序。爲此,在handlebeforerebind表法,我已經使用這個代碼:SAPUI5表排序不起作用

var mBindingParams = oEvent.getParameter("bindingParams"); 
mBindingParams.sorter = "Quantity"; 

我無法理解我怎麼可以用這種方法分揀機在我的桌子嗎?在另一種嘗試,我也嘗試過這樣的:

var aTable = this.getView().byId("myTableId"); 
aTable.sortProperty = "Quantity"; 

VIEW:

<Table> 
    <columns> 
     <Column> 
      <header> 
       <Text text="Quantity"> 
      </header> 
     </Column>  
     <Column> 
      <header> 
       <Text text="Order"> 
      </header> 
     </Column> 
    </columns> 
    <ColumnListItem type="Navigation"> 
     <Link class="sapMLabelBold" text="{Quantity}"></Link> 
     <Link class="sapMLabelBold" text="{Order}"></Link> 
    </ColumnListItem> 
</Table> 

不知爲什麼它不工作。任何人都可以幫我解決這個問題嗎?謝謝!

+0

您可以在創建表格的位置添加視圖部分。 –

+0

嗨Naveen, 它只是一個簡單的表。我已將它添加到我的問題中。 –

回答

0

我終於用更簡單的方法解決了它。我在handleBeforeRebindTable方法提供了控制文件分揀機:

var mBindingParams = oEvent.getParameter("bindingParams"); 
mBindingParams.sorter = [new sap.ui.model.Sorter("Quantity")]; 

這讓我對我的表進行升序排列。

1

如果綁定數據模型聚集項目「/」路徑,只需添加分揀機在XML視圖本身如下。

<Table items="{ 
      path : '/', 
      sorter : { 
       path : 'Quantity' 
      } 
     }"> 
    <columns> 
     <Column> 
      <header> 
       <Text text="Quantity"> 
      </header> 
     </Column>  
     <Column> 
      <header> 
       <Text text="Order"> 
      </header> 
     </Column> 
    </columns> 
    <ColumnListItem type="Navigation"> 
     <Link class="sapMLabelBold" text="{Quantity}"></Link> 
     <Link class="sapMLabelBold" text="{Order}"></Link> 
    </ColumnListItem> 
</Table> 

默認情況下,排序是上升,但你也可以添加降與價值分揀機屬性來更改排序順序內真正的屬性

+0

嗨Naveen, 我試過了,但它會拋出一個錯誤,並說「數據服務請求不能被理解,由於格式錯誤」 –

+0

我有一個智能表上的響應表,我的數據來自實體設置在智能表中提到。 –