Javascript ListBinding的过滤器不';正确工作
在我的SAPUI5应用程序中,我有一个GeoMap(sap.ui.vbm.GeoMap),其中显示了一些点(sap.ui.vbm.Spots)。每个点都指定了一个季度(例如2012-Q3、2012-Q4等)。在这个GeoMap上面,我有一个RangeSloider(sap.ui.commons.RangeSloider),我可以在其中选择一系列季度(例如从2012-Q4到2014-Q3)。根据Range Slider中选定的四分之一,GeoMap上只应显示关联的点。 到目前为止,我已经实现了这一点,如果我缩小RangeSlaider中的范围,正确的点将显示在GeoMap上 但是,这是我的问题,如果我在range Slider中扩展范围,并不是所有相关的点都会显示在GeoMap上。有些地方不见了。 我的读数是,我的过滤器一定出了问题 这是我的RangeSloider事件处理程序中的代码:Javascript ListBinding的过滤器不';正确工作,javascript,sapui5,Javascript,Sapui5,在我的SAPUI5应用程序中,我有一个GeoMap(sap.ui.vbm.GeoMap),其中显示了一些点(sap.ui.vbm.Spots)。每个点都指定了一个季度(例如2012-Q3、2012-Q4等)。在这个GeoMap上面,我有一个RangeSloider(sap.ui.commons.RangeSloider),我可以在其中选择一系列季度(例如从2012-Q4到2014-Q3)。根据Range Slider中选定的四分之一,GeoMap上只应显示关联的点。 到目前为止,我已经实现了这
onRangeChanged: function(oEvent){
var oValue1 = oEvent.getSource().getValue();
var oValue2 = oEvent.getSource().getValue2();
var aFilter = [];
for (var i = oValue1; i <= oValue2; i++) {
var sQuarter = oEvent.getSource().mProperties.labels[i];
aFilter.push(new Filter("EVENT_QUARTAL", FilterOperator.Contains, sQuarter));
}
var combinedFilter = new sap.ui.model.Filter(aFilter, false);
var oSpots = this.getView().byId("SpotsEvent");
var oListBinding = oSpots.getBinding("items");
oListBinding.filter(combinedFilter);
},
...
<commons:RangeSlider
id="RangeSlider"
min="0"
max="15"
stepLabels="true"
smallStepWidth="1"
width="1070px"
value="0"
value2="15"
change="onRangeChanged"
class="sapUiSmallMarginBegin">
</commons:RangeSlider>
...
<vbm:Spots
id="SpotsEvent"
items="{/Events/0}">
<vbm:items>
<vbm:Spot
id="spotEvent"
click="onClickSpot"
position="{path: 'EVENT_GEOKOORDINATEN',
formatter: '.Formatter.formatPosition'}"
type="Error"
text="{BRANDSCORE}">
</vbm:Spot>
</vbm:items>
</vbm:Spots>
onRangeChanged:函数(oEvent){
var oValue1=oEvent.getSource().getValue();
var oValue2=oEvent.getSource().getValue2();
var aFilter=[];
对于(var i=oValue1;i