SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Ribbon Extension EnabledScript

Geprüfte Antwort Dieser Beitrag hat 6 Antworten

Ohne Rang
33 Beiträge
Johann Viehböck erstellt 20 März 2012 16:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,

das Enabling/Disabling von Ribbon Extensions in CommandUI.Ribbon.ListView mittels  SP.ListOperation.Selection ist ja hinreichend dokumentiert. Bei Buttons in der CommandUI.Ribbon.DisplayForm Location bin ich bisher nicht fündig geworden.

Hat jemand einen Tipp für mich?

Dank und Gruß,

Hans

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 März 2012 17:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dort gibt es ja auch immer genau ein ausgewähltes Element.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
33 Beiträge
Johann Viehböck Als Antwort am 20 März 2012 19:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sollte SP.ListOperation.Selection.getSelectedItems() das Item zurückliefern? Tut's nämlich in meinem DispForm nicht.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 21 März 2012 08:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das funktioniert hier nicht, aber Du kannst die ID des aktuellen Elements gleich bei Deiner CommandAction über das Token {ItemId} übergeben. Falls Du es brauchst: es geht z.B. auch {SiteUrl} und {ListId}.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
33 Beiträge
Johann Viehböck Als Antwort am 21 März 2012 09:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schon, allerdings werden die Tokens im EnabledScript nicht unterstützt. Warum auch immer.

Ich habe den Verdacht, dass uns SharePoint hier ein wenig im Stich lässt. Tokens werden nicht unterstützt, die _spPageContextInfo enthält keine ItemID und im ECMA-API finde ich nichts, das mir dabei helfen könnte. Zugegeben, hab' allerdings noch nicht sehr viel Erfahrung mit dem Script-API.

Bei Custom Item Forms kann man das Probem mit Hidden Fields o.ä. umgehen, aber das muss doch auch bei Standard Forms lösbar sein. Bitte Andi, sag' mir, dass es geht. Wer, wenn nicht du? ;-)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 21 März 2012 09:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ach so es geht um das EnabledScript. Dort bleibt Dir nur die Möglichkeit aus der URL zu holen (aus dem Parameter ID). Dort steht ja immer die ID des aktuellen Elements.

Dafür kannst Du z.B. diese Funktion benutzen:
function getValueFromQS(key) {
    var parms = window.location.search.substring(1).split("&");
    for (var i = 0; i < parms.length; i++) {
        var pos = parms[i].indexOf("=");
        if (pos > 0) {
            var parmKey = parms[i].substring(0, pos);
            var parmVal = parms[i].substring(pos + 1);
            if (parmKey == key)
                return parmVal;
        }
    }
    return "";
}

Aufruf so:
var currentItemId = getValueFromQS("ID");

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
33 Beiträge
Johann Viehböck Als Antwort am 21 März 2012 09:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Andi,

vielen Dank! Das API gibt's also tatsächlich nicht her.

Beste Grüße,

Hans