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.
«novembre»
domlunmarmergiovensab
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345