2017-10-10 37 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

我有一个智能表上的响应表,我的数据来自实体设置在智能表中提到。 –