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
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456