当前位置: 首页>>代码示例>>C#>>正文


C# SPField.GetCustomizationValues方法代码示例

本文整理汇总了C#中SPField.GetCustomizationValues方法的典型用法代码示例。如果您正苦于以下问题:C# SPField.GetCustomizationValues方法的具体用法?C# SPField.GetCustomizationValues怎么用?C# SPField.GetCustomizationValues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SPField的用法示例。


在下文中一共展示了SPField.GetCustomizationValues方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: IsFieldExcluded

        protected override bool IsFieldExcluded(SPField field)
        {
            if (!HttpContext.Current.Request[SPConstants.AdminModeUrlParameter].IsNullOrEmpty() && field.ParentList.DoesUserHavePermissions(SPBasePermissions.ManageWeb))
            {
                _controlsToRenderCount++;
                return false;
            }

            var isExcluded = base.IsFieldExcluded(field);

            // This properties are null by default. If they won't be set in content type, field won't be shown in corresponding form
            if ((base.ControlMode == SPControlMode.Display && !field.ShowInDisplayForm.HasValue) ||
                (base.ControlMode == SPControlMode.Edit && !field.ShowInEditForm.HasValue) ||
                (base.ControlMode == SPControlMode.New && !field.ShowInNewForm.HasValue))
                return true;

            if (field.ReadOnlyField)
            {
                // Because it's not posible to override IsFieldExcluded (becouse of many internal fields) I'm checking if field is excluded becouse of Readonly property.
                field.ReadOnlyField = false;
                isExcluded = base.IsFieldExcluded(field) && isExcluded;
                field.ReadOnlyField = true;
            }

            // ContentType selection
            if (field.Type == SPFieldType.Computed && field.InternalName == SPConstants.ContentType)
            {
                var changeContentType = new FPSChangeContentType();
                changeContentType.DisplayName = field.Title;
                var filterItems = field.GetCustomizationValues<string>(CustomPropertyType.Filter) ?? new List<string>();
                var allowedContentTypes = new Dictionary<string, string>();

                foreach (var item in filterItems)
                {
                    var nameValuePair = item.Split('_');
                    if (!allowedContentTypes.ContainsKey(nameValuePair[0]))
                        allowedContentTypes.Add(nameValuePair[0], nameValuePair.Length > 1 ? nameValuePair[1] : null);
                }

                changeContentType.AllowedContentTypes = allowedContentTypes;

                if (!ContentTypeTemplateName.IsNullOrEmpty())
                    changeContentType.TemplateName = ContentTypeTemplateName;

                Controls.Add(changeContentType);
            }

            if (!isExcluded)
                _controlsToRenderCount++;

            return isExcluded;
        }
开发者ID:radata,项目名称:lsolilo-sharepoint,代码行数:52,代码来源:FPSListFieldIterator.cs


注:本文中的SPField.GetCustomizationValues方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。