开发者

In SharePoint how to display custom ribbon button to particular lists only?

开发者 https://www.devze.com 2023-03-30 15:46 出处:网络
I am having four external list \"List1\", \"List2\", \"List3\", \"List4\". I have added a custom ribbon button Like:

I am having four external list "List1", "List2", "List3", "List4". I have added a custom ribbon button Like:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
    Id="ATEAgWorkOrderButton"
    RegistrationType="List"
    RegistrationId="600"
    Location="CommandUI.Ribbon">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition
         Location="Ribbon.ListItem.Actions.Controls._children">
          <Button
           Id="Ribbon.ListItem.Actions.ATEAgWorkOrderButton"
           Alt="Click on this button to Add"
           Sequence="3"
           Image32by32="/_layouts/Images/Project/image.png"
           Command="ATEAg_WorkOrder"
           LabelText="Add Detail"
           TemplateAlias="o2"/>
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler
         Command="ATEAg_WorkOrder"
         CommandAction="javascript:alert("Hello Success");" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
</Elements>

The button is now visible开发者_开发百科 in all the external lists. But I want to make it visible for only "List1" and "List2". How to do this?


You need to explore the Andrew Connell's Ribbon Customization Deep Dive.

http://www.andrewconnell.com/blog/archive/2011/04/16/sharepoint-2010-ribbon-customization-deep-dive.aspx

He goes into how to solve these problems. In short instead of binding a customization for all lists of a certain type, you can register a javascript function that gets called to determine if you button should be shown or hidden. In this function you can determine which list is currently active.


If all your lists are associated with a ContentType, you can set the registration id of the custom action to the ContentType id.

From MSDN:

RegistrationID: Optional Text. Specifies the identifier of the list or item content type that this action is associated with, or the file type or programmatic identifier (ProgID).

0

精彩评论

暂无评论...
验证码 换一张
取 消