SAPUI5 sap.m.Entrée - Suggestion valeurs
Comment puis-je me permettre de vivre des suggestions de lecture à partir de mon Service odata pour une seule cellule de mon tableau?
oTable.addColumn(new sap.ui.table.Column({
template : new sap.m.Input({
value : column, //also works, its dynamic
textAlign : sap.ui.core.TextAlign.Center,
inputType : Text,
type : sap.m.InputType.Text,
showSuggestion : true,
liveChange : function() {
if (this.getValue().length > 0) {
var oModel = new sap.ui.model.json.JSONModel();
var value = this.getValue();
var serviceUrl = "/sap/opu/odata/SAP/XXXX_SRV/SuggestionsSet/?$filter=startswith(Key,'" + value + "')";
oModel.loadData(serviceUrl, null, false, "GET", false, false, null);
this.destroySuggestionItems();
for (var i = 0; i < oModel.oData.d.results.length; i++) {
this.addSuggestionItem(new sap.ui.core.Item({
text: oModel.oData.d.results[i].Key,
}));
} //everything seems fine, but no Suggestion opens..
}
},
}),
visible : true,
}));
Vous devez vous connecter pour publier un commentaire.
Voir le exploré exemple.
Cependant, dans votre cas, le modèle est une ODataModel, mais qui n'a pas vraiment d'importance...
Comme vous pouvez le voir dans les exemples de code que vous pouvez également utiliser
Dans le gestionnaire vous ensuite de le faire (copié à partir de l'exemple en tant que bien):
Fondamentalement, vous
- créer un ou plusieurs filtres
- obtenir la liaison pour l' suggestionItems agrégation
- appel .filtre(...) sur la liaison et de passer le filtre(s)
Il n'y a pas besoin de code de ce genre de choses manuellement (c'est à dire OBTENIR la demande, etc.).
Ici est un runninh exemple pour vous (exécuter via jsbin), voir ci-dessous.
Dans votre cas, tout ce que vous faites est de se lier à
Dans le handleSuggest handler, vous serait alors d'obtenir la valeur pour l' Clé propriété de la SuggestionSet qui appartient courant/champ de saisie afin d'instancier un nouveau Filtre. Vous pourriez obtenir de l' Clé de la BindingContext je suppose...