如何在SAP UI5中使用2个或更多值搜索/过滤数据?

2020-09-03 02:45发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


使用这种逻辑,我只能按userId搜索。 我还有一些其他字段,例如名,姓,jobTitle等。我已经尝试使用FilterOperators,但它显示诸如" FilterOperators is undefined"之类的错误。

请帮助我解决这个问题。

 onFilter:function(oEvent){

 var aFilter = [];
 var sQuery = oEvent.getParameter(" query");
 if(sQuery){
 aFilter.push(new Filter(" userId",FilterOperators.Contains,sQuery));
 }

//过滤器绑定

 var oList = this.getView()。byId(" itemList");
 var oBinding = oList.getBinding(" items");
 oBinding.filter(aFilter);
 },
 

(20.4 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


使用这种逻辑,我只能按userId搜索。 我还有一些其他字段,例如名,姓,jobTitle等。我已经尝试使用FilterOperators,但它显示诸如" FilterOperators is undefined"之类的错误。

请帮助我解决这个问题。

 onFilter:function(oEvent){

 var aFilter = [];
 var sQuery = oEvent.getParameter(" query");
 if(sQuery){
 aFilter.push(new Filter(" userId",FilterOperators.Contains,sQuery));
 }

//过滤器绑定

 var oList = this.getView()。byId(" itemList");
 var oBinding = oList.getBinding(" items");
 oBinding.filter(aFilter);
 },
 

(20.4 kB)
付费偷看设置
发送
6条回答
xfwsx85
1楼 · 2020-09-03 02:56.采纳回答

嗨,

您需要为所有必填字段启用过滤器屏幕,例如queryUserID,queryFirstName,queryLastName和queryJobTitle。

然后,获取所有这些查询参数的值

 var sQueryUserId = oEvent.getParameter(" queryUserID");
 var sQueryFirstName = oEvent.getParameter(" queryFirstName");
 var sQueryLastName = oEvent.getParameter(" queryLastName");
 var sQueryJobTitle = oEvent.getParameter(" queryJobTitle");
 

然后将这些查询文本推入Filter数组。

 aFilter.push(newFilter(" userId",FilterOperators.Contains,sQueryUserID));
 aFilter.push(newFilter(" firstname",FilterOperators.Contains,sQueryFirstName));
 aFilter.push(new Filter(" lastname",FilterOperators.Contains,sQueryLastName));
 aFilter.push(new Filter(" jobTitle",FilterOperators.Contains,sQueryJobTitle)); 

有关更多详细信息,请参考以下链接

https://inui.io/sapui5-filter-data-multiple-values/

希望这对您有所帮助。

关于此,

罗姆

大简至美
2楼-- · 2020-09-03 03:09

感谢您会尝试

打个大熊猫
3楼-- · 2020-09-03 03:05
 onSearch:函数(oEvent){


//检索列表控件
 var sQuery = oEvent.getSource()。getValue();
 var oFilter = new sap.ui.model.Filter({
 过滤器:[
 新的sap.ui.model.Filter(" userId",sap.ui.model.FilterOperator.Contains,sQuery),
 新的sap.ui.model.Filter(" jobTitle",sap.ui.model.FilterOperator.Contains,sQuery),
 新的sap.ui.model.Filter(" firstName",sap.ui.model.FilterOperator.Contains,sQuery),
 新的sap.ui.model.Filter(" lastName",sap.ui.model.FilterOperator.Contains,sQuery),
 新的sap.ui.model.Filter(" employeeCode",sap.ui.model.FilterOperator.Contains,sQuery),
 新的sap.ui.model.Filter(" region",sap.ui.model.FilterOperator.Contains,sQuery),
 新的sap.ui.model.Filter(" contactNo",sap.ui.model.FilterOperator.Contains,sQuery),
 新的sap.ui.model.Filter("国家",sap.ui.model.FilterOperator。包含,sQuery)
 ],
 和:false
 });
 var oBinding = this.byId(" tableId")。getBinding(" items");
 oBinding.filter(oFilter,sap.ui.model.FilterType.Application);
 },

 有人可以解释此代码。 它的工作
亦是此间程序员
4楼-- · 2020-09-03 03:01

嗨,Jainee,

是的,是的,过滤器的默认操作是" OR"。

关于

>

Ram

SC_Yao
5楼-- · 2020-09-03 03:16

嗨,贾尼,

您是否尝试将其他字段推送到同一数组" aFilter"中。

致谢

Rakesh

葫芦娃快救爷爷
6楼-- · 2020-09-03 02:59

是的,我尝试过但不能正常工作Rakesh

一周热门 更多>