首先,我是UI5的新手 . 我正在Eclipse中开发 .

我正在构建一个用户可以搜索航班的应用程序 . 所以他有一个简单的形式,包括像“Carrid”,“Fldate”等文本字段 . 按下按钮后,他将导航到第二个视图,其中相关数据列在表格中 .

我创建了一个OData服务来从后端的表中获取数据 . 它可以工作,但我认为它可能非常低效,因为我从OData服务的getEntitySet方法中选择表中的所有数据 .

SELECT *
  FROM SFLIGHTS
  INTO TABLE et_entityset.

但我希望实现类似的东西:

SELECT * FROM sflights INTO TABLE lt_sflights
  WHERE connid    IN ls_seloptions-connid    AND
        carrid    IN ls_seloptions-carrid    AND
        fldate    IN ls_seloptions-fldate    AND
        countryfr IN ls_seloptions-countryfr AND
        countryto IN ls_seloptions-countryto AND
        cityfrom  IN ls_seloptions-cityfrom  AND
        cityto    IN ls_seloptions-cityto.

所以基本上我需要将数据从输入字段传递到后端系统以执行这种方式的选择 .

理论上,我可以通过对模型应用过滤器来过滤用户输入的OData-entityset

var oFilters = [new sap.ui.model.Filter("Carrid", "EQ", "AA")];
    oTable.bindRows("/SFLIGHTSSet", oFilters);

但是,当有大量条目的表格通过odata服务发送时,我认为这是非常不合理的?因此,我认为最好将用户数据发送到后端并在后端选择正确的条目,然后通过OData发回 .

我希望你理解我的问题,可以帮助我!