示例#1
0
        private void EnsureBoolFieldExists(SPList extendedList, string fieldName, bool defaultValue)
        {
            if (!extendedList.Fields.ContainsField(fieldName))
            {
                extendedList.Fields.Add(fieldName, SPFieldType.Boolean, false);

                SPFieldBoolean boolField = extendedList.Fields[fieldName] as SPFieldBoolean;
                boolField.ShowInEditForm = false;
                boolField.DefaultValue   = defaultValue ? "1" : "0";
                boolField.Hidden         = false;// true;
                boolField.Update();

                extendedList.Update();
                var query = new SPQuery();
                query.Query = @"<Where><IsNull><FieldRef Name='" + fieldName + @"' /></IsNull></Where>";
                var items = extendedList.GetItems(query);
                foreach (SPListItem item in items)
                {
                    item[fieldName] = defaultValue ? "1" : "0";
                    item.Update();
                }
            }
        }
示例#2
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="web"></param>
    /// <param name="group"></param>
    /// <param name="dscription"></param>
    /// <param name="name"></param>
    /// <param name="displayName"></param>
    public static void CreateBooleanColumn(this SPWeb web, string group, string description, string name, string displayName)
    {
        try
        {
            if (!web.Fields.ContainsField(name))
            {
                string fieldName = web.Fields.Add(name, SPFieldType.Boolean, false);

                SPFieldBoolean field = (SPFieldBoolean)web.Fields.GetField(name);

                field.Group       = group;
                field.StaticName  = name;
                field.Title       = displayName;
                field.NoCrawl     = false;
                field.Description = description;

                field.Update();
            }
        }
        catch (Exception ex)
        {
            SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("CORE:HELPERS", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, String.Format("Exception happened in Helpers:CreateBooleanColumn. MESSAGE: {0}. EXCEPTION TRACE: {1} ", ex.Message, ex.StackTrace), ex.StackTrace);
        }
    }