如何使用BT运算符过滤日期列表数据

2020-08-27 02:24发布

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

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


嗨,

我想根据日期范围过滤列表。我尝试使用BT运算符但不起作用。我使用valuep为" dd-MM-yyyy"的datepickers选择日期范围。

谢谢

吉尔比

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

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


嗨,

我想根据日期范围过滤列表。我尝试使用BT运算符但不起作用。我使用valuep为" dd-MM-yyyy"的datepickers选择日期范围。

谢谢

吉尔比

付费偷看设置
发送
2条回答
SAP砖家
1楼 · 2020-08-27 03:01.采纳回答

嗨,约翰,

您可以根据以下日期进行过滤。

 oTab = this.getView()。byId(" list_id");
 var oBinding = oTable.getBinding(" items");
 date1 = sap.ui.getCore()。byId(" date_RangeId")。getDateValue();
 date2 = sap.ui.getCore()。byId(" date_RangeId")。getSecondDateValue();
 var date = this.getFilter(date1,date2," odata_propertyName");
 如果(ETD!=""){
 aFilters.push(date);
                 }
 var orFilter = new sap.ui.model.Filter(aFilters,true);
 arr = new sap.ui.model.Filter([orFilter],true);
 oBinding.filter(arr);
 

我用不同的方法编写了以下代码,以便可以重复使用。

 getFilter:函数(date1,date2,Prpty){
 var firstDate = date1;
 var secondDate = date2;
 如果(firstDate && secondDate){
 secondDate.setDate(secondDate.getDate()+ 1);
 var newSecondDate = new Date(secondDate);
 var oFilter1 = new sap.ui.model.Filter(Prpty,sap.ui.model.FilterOperator.BT,firstDate,newSecondDate);
 返回oFilter1;
 }其他{
 返回"";
 }
 },
 

在上面的示例中

list_id-分配给您的表或列表的ID

date_RangeId-日期范围的ID(在我的情况下为片段,因此我使用sap.ui.getCore(),如果在视图中,请使用this.getView()。byId("")。odata_propertyName-您的属性 后端给出的名称。

我在这里使用过DateRangeSelection控件。如果您使用过datepicker,请按照此操作获取date1 date2。

此致

Manjunatha Devadiga。

一只江湖小虾
2楼-- · 2020-08-27 03:19

您能告诉什么不起作用吗? 和

代码,您在其中定义了控件,并在其中从和提取日期,这将帮助我们更好地了解您的问题

一周热门 更多>