Javascript: setLabel funktioniert nicht in Navigationslinks

18. Februar 2014 17:01

Hallo,

bei meinen Migrationsarbeiten von CRM 4.0 zu 2013 habe ich festgestellt, dass das Setzen der Navigationslink-Beschriftungen nicht funktioniert:

var elem = Xrm.Page.ui.navigation.items.get(id);
elem.setLabel(newName);

elem.getLabel() funktioniert und liefert den korrekten Wert, setLabel() allerdings bringt keine Änderung.
Kennt jemand den Grund dafür? Die Funktion ist ja dokumentiert(und läuft auch fehlerfrei durch).

Oder ist das erstmal ein Feature?

Re: Javascript: setLabel funktioniert nicht in Navigationsli

18. Februar 2014 18:05

Hallo,

du verwendest als ID den Wert, den du vorher mit getId ermittelt hast?

Code:
id = Xrm.Page.ui.navigation.items.get().getId;

Re: Javascript: setLabel funktioniert nicht in Navigationsli

18. Februar 2014 18:20

Nein.. ich hole mir mit
var elem = Xrm.Page.ui.navigation.items.get(id);
eine Referenz auf das NavigationsItem. Das funktioniert auch. Wenn ich da rein debugge, sehe ich, dass ich das korrekte Objekt habe.

console.log(elem.getLabel()); z.B. gibt mir hier auch die richtige Beschriftung aus - das heißt: die Referenz ist vorhanden.
die vollständige Funktion sieht so aus:

function RenameNavItem(id, newName) {
try{
var elem = Xrm.Page.ui.navigation.items.get(id);
elem.setLabel(newName);
}
catch (err) {
console.error("RenameNavItem " + id + ": " + err.message);
}
}

aber die tut halt nichts und ergibt auch keine Fehlermeldung.

Re: Javascript: setLabel funktioniert nicht in Navigationsli

19. Februar 2014 11:53

Ich hab´s nun auch mal per index probiert.

Also per: Xrm.Page.ui.navigation.items.get(0).setLabel('Test');

Allerdings ebenfalls ohne Erfolg.