2015-02-23 58 views
0

我在XML視圖中使用搜索字段。SAPUI5搜索字段實時搜索不會過濾

<Page title="Title"> 
    <subHeader> 
     <Toolbar> 
     <SearchField 
      liveChange="onSearch" 
      width="100%" /> 
     </Toolbar> 
    </subHeader> 
    <content> 
    <List id = "oProductList" items="{/formset}" select="whencliekedonlist" mode="SingleSelectMaster"> 
    <items> 
    <StandardListItem title="{orderno}" 
    description="{date}"> 



    </StandardListItem> 
    </items> 
    </List> 
    </content> 

    </Page> 

在我聲明中的OData模型

onInit: function() { 
    //Declaring the model 
    var oProductModel = new sap.ui.model.odata.ODataModel("/sap/opu/odata/SOL/TEST_SRV"); 
sap.ui.getCore().setModel(oProductModel); 
    debugger; 
    }, 

我列出的順序在畫面分割應用母版頁沒有的視圖的Init方法。

現在實況搜索我打電話這種方法,設置文件管理器

> debugger; 
>  // add filter for search 
>  var aFilters = []; 
>  var sQuery = oEvt.getSource().getValue(); 
>  if (sQuery && sQuery.length > 0) { 
>  //here name is the field on which the filter has to be done. 
>  var filter = new sap.ui.model.Filter("orderno", sap.ui.model.FilterOperator.Contains, sQuery); 
>  aFilters.push(filter); 
>  } 
> 
> 
>  
>  // update list binding 
> 
>  var list = this.getView().byId("oProductList"); 
>  var binding = list.getBinding("items"); 
>  binding.filter(aFilters); 

問題:我沒有得到的結果filtered.Nothing發生時篩選。 我是否正在使用odata模型是因爲它?如果是這樣,如何繼續您可以指向我的代碼

回答

0

應用$ filter選項對您的服務執行Odata請求。很有可能你會發現你的服務根本無法過濾。

可以通過ABAP代碼或通過在網關中配置UI2 Odata緩存來添加篩選。

0

我用下面的語句,利用「搜索」 -event,該searchfield的:

   <SearchField 
      search="handleSearch" 
      width="100%" > 
      </SearchField> 

與handlesearch beeing我搜索處理機 我讀的地方,該liveChange事件設置爲false /默認情況下不活動...我認爲有一個功能,您可以檢查它...