아래 코드를 사용하는 필터가 작동하지 않습니다. 웹 IDE에서 템플릿을 사용하여 응용 프로그램을 만든 다음 OData를 XMLView의 목록에 바인딩하고 검색시 필터를 적용했습니다.UI5의 데이터 필터링
보기 :
<SearchField liveChange="onSearch" id="master1SearchField" search="onSearch"/>
<List id="master1List" items="{path:'/DetailsSet'}">
<items>
<ObjectListItem id="master1ListItem">
<attributes>
<ObjectAttribute text="{Name}"/>
</attributes>
</ObjectListItem>
</items>
</List>
컨트롤러 : 필터 설정 한 후 컨트롤의 업데이트를 강제로
onSearch : function(oEvent) {
var sFilteredValue = oEvent.getSource().getValue();
var oFilter = new sap.ui.model.Filter("Name", sap.ui.model.FilterOperator.Contains, sFilteredValue);
var oElement = this.getView().byId("table");
var oBinding = oElement.getBinding("items");
oBinding.filter([oFilter]);
}
디버그 모드로 전환하면 네트워크 탭에서 백엔드에 대한 필터 요청 및 응답을 볼 수 있습니다. 그게 효과가 있습니까? 그것은 어떻게 생겼어? 당신은 디버거에있는 경우 , 여기에 "sFilteredValue"의 값 것입니다 :; https : //로 ". var에 sFilteredValue = oEvent.getSource() getValue()가" 가있는 샘플 코드로도 비교하세요 sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.ListSelectionSearch/code/List.controller.js –
올바른 컨트롤에 필터를 적용하고 있습니까? 'oElement'의 ID는''table "'이고 ID는''master1List"''ID입니다. – boghyon
여기에 반환되는 것은 무엇입니까? 'var sFilteredValue = oEvent.getSource(). getValue();' – neeko