SAPUI5搜索字段实时搜索不进行筛选



我在XML视图中使用搜索字段。

<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>

在视图的Init方法上,我声明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;
  },

我正在屏幕分割应用程序主页中列出订单号。

现在在livesearch上,我调用这个方法来设置filers

>   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);

问题:我没有过滤结果。当我过滤时什么也没发生。我使用odata模型是因为它吗?如果是的话,如何继续?你能给我指一下代码

使用$filter选项对您的服务执行Odata请求。你很可能会发现你的服务根本没有过滤。

您可以通过ABAP代码或在Gateway中配置UI2 Odata缓存来添加筛选。

我利用searchfield的"search"-事件使用了以下语句:

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

handlesearch是我的搜索处理程序我在某个地方读到liveChange事件默认设置为false/inactive。。。我认为有一个函数可以检查它…

相关内容

  • 没有找到相关文章

最新更新