Как добавить пользовательский столбец в существующий шаблон списка WSS - PullRequest
0 голосов
/ 10 ноября 2008

Мне нужно использовать функцию степлера, чтобы добавить несколько текстовых столбцов в список сообщений в определении сайта блога OOTB. Я планирую не использовать столбцы сайта, а только добавлять эти столбцы в список (я не использую столбцы сайта, потому что у меня есть несколько семейств сайтов и будет только один список сообщений на семейство сайтов, поэтому столбцы сайта не очень многоразово используются этот случай). Мой вопрос: как мне этого добиться?

Ответы [ 3 ]

2 голосов
/ 10 ноября 2008

Лучшее решение - создать скрытое настраиваемое действие для списка сообщений. Я выкладываю упрощенную версию здесь

Elements.xml:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="XXXXXXXX"
   RegistrationType="List"
   RegistrationId="101"
   Rights="Open"
   Location="ViewToolbar"
   Sequence="110"
   Title="Hidden Settings Button"
   ControlAssembly="MyLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=XXXXXX"
       ControlClass="MyLib.MyClass"
   />

    <FeatureSiteTemplateAssociation Id="XXXXXXX" TemplateName="YOUR_BLOG_SITE_TEMPLATE_NAME" />

MyClass.cs:

  [DefaultProperty("Text")]
  [ToolboxData("<{0}:MyClass runat=server></{0}:MyClass>")]
  public class MyClass : WebControl
  {
        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("")]
        [Localizable(true)]
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? String.Empty : s);
            }

            set
            {
                ViewState["Text"] = value;
            }
        }

        protected override void OnLoad(EventArgs e)
        {
            SPList list = SPContext.Current.List;
            if (list != null)
            {
                 list.Fields.Add(XXX, XXX, XXX);
                 list.Update();
            }    
        }    
   }
2 голосов
/ 10 ноября 2008

Возможно, вы можете создать объект, который использует объектную модель из приемника объекта, чтобы добавить (и при необходимости удалить) столбцы к определенному списку при активации функции.

Я бы использовал подход XML Schema для создания столбцов, чтобы обеспечить одинаковый GUID для каждого столбца. См

0 голосов
/ 11 ноября 2008

Я не вижу, какую выгоду я получаю от создания настраиваемого действия для списка сообщений. Оба сообщения полезны, но я, вероятно, создам для этого пользовательскую функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...