如何在聚合表中查找字符串?

2020-09-04 21:16发布

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

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


你好

我得到了以下编码:

 onSearch:函数(oEv){


 var oTableSearchState = [],
 sQuery = oEv.getParameter(" sNumber");
 如果(sQuery && sQuery.length> 0){
 oTableSearchState = [new Filter(" Tknum",FilterOperator.Contains,sQuery)];

 }
 this._applySearch(oTableSearchState,sQuery);


 },
/**
 *内部帮助程序方法将过滤器状态和搜索状态一起应用于列表绑定
 * @param {object} oTableSearchState一个用于搜索的过滤器数组
 * @私人的
 */
 _applySearch:函数(oTableSearchState,sTknum){
 var oViewModel = this.getModel(" worklistView");
 var oFData = this._oTable.getBinding(" items")。filter(oTableSearchState," Application");
//如果没有过滤结果,则更改列表的noDataText
 如果(oTableSearchState.length!== 0){
 oViewModel.setProperty("/img/tableNoDataText",this.getResourceBundle()。getText(" worklistNoDataWithSearchText")));
 this.getRouter()。navTo(" object",{
 objectId:sTknum
 });
 }
 },
 

我想检查我的表是否包含变量squery中的值。 过滤器的名称在这里:oTableSearchState。

当前包含的字符串并不重要-flilter.length始终为1。如果在表中找到了确切的字符串,我只想触发导航。

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

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


你好

我得到了以下编码:

 onSearch:函数(oEv){


 var oTableSearchState = [],
 sQuery = oEv.getParameter(" sNumber");
 如果(sQuery && sQuery.length> 0){
 oTableSearchState = [new Filter(" Tknum",FilterOperator.Contains,sQuery)];

 }
 this._applySearch(oTableSearchState,sQuery);


 },
/**
 *内部帮助程序方法将过滤器状态和搜索状态一起应用于列表绑定
 * @param {object} oTableSearchState一个用于搜索的过滤器数组
 * @私人的
 */
 _applySearch:函数(oTableSearchState,sTknum){
 var oViewModel = this.getModel(" worklistView");
 var oFData = this._oTable.getBinding(" items")。filter(oTableSearchState," Application");
//如果没有过滤结果,则更改列表的noDataText
 如果(oTableSearchState.length!== 0){
 oViewModel.setProperty("/img/tableNoDataText",this.getResourceBundle()。getText(" worklistNoDataWithSearchText")));
 this.getRouter()。navTo(" object",{
 objectId:sTknum
 });
 }
 },
 

我想检查我的表是否包含变量squery中的值。 过滤器的名称在这里:oTableSearchState。

当前包含的字符串并不重要-flilter.length始终为1。如果在表中找到了确切的字符串,我只想触发导航。

付费偷看设置
发送
4条回答
nice_wp
1楼-- · 2020-09-04 21:44

或者用其他方式提出问题-是否有可能获得Filter的返回值。 这意味着,如果过滤器正常工作-找到了匹配的值-那么我将收到true或类似的内容。 这样我就可以根据该返回码做出决定。

DafaDDDa
2楼-- · 2020-09-04 21:47

您好, Andreas Teufer

如果我正确理解了您的要求,则需要具有搜索字段才能从表中搜索数据。

请按照以下步骤操作:

1。 在SAPUI5表

  

2中添加搜索字段控件 。假设您已经绑定了表,如下所示。

 <表id =" tblStudents" inset =" false" items =" {path:'students>/StudentsSet'}"> 
< p> 3.Controller中的Create方法将过滤表控件中的数据

 handleSearch:function(oEvent){
//构建过滤器数组
 var filter = [];
 var query = oEvent.getParameter(" query");
 if(query && query.length> 0){
 var filter = new sap.ui.model.Filter(" StudentName",sap.ui.model.FilterOperator。包含,查询);
 filter.push(filter);
 }
//过滤器绑定
 var oList = this.getView()。byId(" tblStudents");
 var oBinding = oList.getBinding(" items");
 oBinding.filter(filters);
 },
 

搜索将区分大小写。

希望这会有所帮助。

谢谢-

Abhishek

悠然的二货
3楼-- · 2020-09-04 21:46
# p#

Hallo。

感谢您的回答。

但是,正如您在我的第一条评论中所看到的那样,我已经完成了所有这些工作。 如果有比赛,我需要的是反馈。 如果过滤器找到结果。 为了以后做出决定。 表示if(filterfoundvalues){X} else {Y}。 谢谢。

吹牛啤
4楼-- · 2020-09-04 21:29

你好。

我想我找到了解决方法:

 var oTModel = this._oTable.getModel();
 var oItems = this._oTable.getItems();


 for(var i = 0; i                                                                     

一周热门 更多>