首先,我是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发回。
我希望你理解我的问题并且可以帮助我!