Кнопка ленты Пользовательское действие, которое будет работать во всех списках - PullRequest
0 голосов
/ 12 октября 2010

Я хочу создать кнопку ленты, которая будет работать со всеми видами списков. То есть одно и то же настраиваемое действие должно работать со списками, библиотеками документов, списками объявлений и т. Д.

Также. Он должен работать независимо от типов содержимого, содержащихся в списке.

Каким должно быть определение настраиваемого действия для этого?

Ответы [ 3 ]

3 голосов
/ 05 июля 2011

Я обнаружил, что установка RegistrationType в ContentType и RegistrationID в 0x решает эту проблему. 0x соответствует типу контента «Элемент», поэтому он будет работать для всех типов списков, даже для тех, для которых управление типами контента не включено.

0 голосов
/ 05 января 2011

На сайте переполнения SharePoint есть несколько ответов

http://www.sharepoint.stackexchange.com/questions/6158/how-do-you-create-a-ribbon-button-custom-action-that-will-appear-on-all-kinds-of

Кроме того, я попробовал ответ CBono несколькими способами, но не смог заставить его работать. Я думаю, что если вы удалите RegistrationType и RegistrationId, вам нужно вручную показать вкладку с помощью кода

SPRibbon ribbon = SPRibbon.GetCurrent(this.Page);
if (!ribbon.IsTabAvailable("Ribbon.CustomTabExample")) {
    ribbon.MakeTabAvailable("Ribbon.CustomTabExample");
}

Больше информации по этим ссылкам

http://social.technet.microsoft.com/Forums/en-US/sharepoint2010programming/thread/390e3409-eba6-4674-9095-c29efcd9bd04

http://msmvps.com/blogs/cobrien/archive/2010/01/25/adding-ribbon-items-into-existing-tabs-groups-ribbon-customization-part-2.aspx

0 голосов
/ 12 октября 2010

У меня нет простого способа проверить это, но я считаю, что вы определите свой файл Elements.xml в соответствии со схемами Custom Action и Ribbon , как обычно, но пропустите атрибуты RegistrationId и RegistrationType в элементе CustomAction:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
        Id="[Your.Ribbon.ID.Here]"
        Location="CommandUI.Ribbon.[Your.Location]">
            <!-- Your Ribbon Definitions Here -->
    </CustomAction>
</Elements>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...