Ich habe bereits eine sap.m.list, die bereits auf einer Eigenschaft gefiltert ist. Jetzt muss ich wieder Filter für diese Liste anwenden, um Live-Suche zu implementieren.Wie man die gefilterten Elemente in sap.m.list filtert
filterList:function(evt){
debugger;
var filters = [];
var oFilter="";
var query = evt.oSource.mProperties.value;
if (query && query.length > 0) {
var filter = new sap.ui.model.Filter("CLTYPE", sap.ui.model.FilterOperator.Contains, query);
filters.push(filter);
var filter1 = new sap.ui.model.Filter("CLCAT", sap.ui.model.FilterOperator.Contains, query);
filters.push(filter1);
var filter2 = new sap.ui.model.Filter("CLNUM", sap.ui.model.FilterOperator.Contains, query);
filters.push(filter2);
oFilter = new sap.ui.model.Filter(filters, false);
}
// update list binding
var list = sap.ui.getCore().byId("List");
var binding = list.getBinding("items");
binding.filter(oFilter);
},
hier meine Liste ist filtered.here bereits list.getBinding (‚Artikel‘) gibt mir alle Einzelteile nicht das gefilterte Items.I angewendet Filter für meine sap.m.list wie folgt
obj[filterParam] = context;
var contextClauses=_.where(clauses,obj);
sap.ui.getCore().getModel('ClauseModel').setProperty("/DATA/CURRENTCLAUSES",contextClauses);
// update list binding
var list = sap.ui.getCore().byId("List");
var binding = list.getBinding("items");
binding.filter(oFilter);
wie implementiert das ?? irgendwelche Vorschläge?
mit danke für das reply.my Problem ist nicht, wie man die Filterfunktion nennt. Ich realisierte li Das Problem ist, meine Liste wurde bereits gefiltert und die Zeile in der Filterliste var listBinding = element.getBinding ("items"); geben Sie mir die ganze Liste Elemente nicht gefiltert.Ich möchte die gefilterten Listenelemente wieder aplly Filter – Anjali
versuchen 'Sitzungsspeicher', um Ihre gefilterten Daten zu speichern und sie nach Ihrem Bedarf überall zu verwenden. Überprüfen Sie die bearbeitete Antwort oben. – SiddP
Sitzungsspeicher ist nicht so erforderlich.wenn ich die filteredlistItems abrufen konnte, kann ich Filter auf sie anwenden. Die Sache ist, wie man die gefilterten Listenelemente repliziert. Wie hast du deine Elementvariable r8? Das ist eine Liste. Wie werden Sie dann die filterten Listenelemente dieser Liste abrufen? Wenn dieses Frage beantwortet wird, wird mein Problem gelöst, weil ich Filter auf diesen Einzelteilen anwenden kann. Ich weiß nicht, wie man die gefilterten listitems zurückholt. – Anjali