SharePoint 2010 - Creazione dinamica del Ribbon in un'Application Page

E’ possibile, in SharePoint, inserire un Ribbon “custom” in modo dinamico all’interno di una “application page” (ad esempio vincolandolo al verificarsi di una certa condizione).

 

Per farlo è necessario eseguire tre semplici passi:

 

Il primo consiste nel definire il nostro Ribbon all’interno di una feature. La particolarità da tener presente consiste nel fatto che il ribbon non va associato a nessun “template” di lista e a nessun “content-type” (parametri del Tag “CustomAction”).

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <CustomAction Id="Siva.Ribbon.TabCustom" Location="CommandUI.Ribbon">

    <CommandUIExtension>

      <CommandUIDefinitions>

        <CommandUIDefinition Location="Ribbon.Tabs._children">

          <Tab Id="Ribbon.TabCustom"

            Sequence="1101"

            Description="My description"

            Title="My title">

 

Il secondo consiste nell’inserire all’interno della nostra “allication page” (o se serve all’interno della “master page”) il controllo SPRibbon.

    <SharePoint:SPRibbon ID="SPRibbonVC" runat="server" PlaceholderElementId="RibbonContainer" CssFile="" >

    <SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowRight" ID="RibbonTabRowRight" CssClass="s4-trc-container s4-notdlg"></SharePoint:SPRibbonPeripheralContent>

    </SharePoint:SPRibbon>

 

Il terzo, ed ultimo, passo, consiste nell’associare al controllo SPRibbon il nostro Ribbon “custom”, all’interno dell’evento “OnPreRender”.

if (myContition == true)

{

       SPRibbon current = SPRibbon.GetCurrent(this);

       if (current != null)

       {

             current.CommandUIVisible = true;

             current.MakeTabAvailable("Ribbon.TabCustom");

             current.InitialTabId = "Ribbon.TabCustom";

             current.Minimized = false;

       }

}

  

Technorati Tags:

posted @ lunedì 24 giugno 2013 13:41

Print
Comments have been closed on this topic.
«maggio»
domlunmarmergiovensab
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567