コード例 #1
0
        public Field AddFieldAsXml(string schemaXml, bool addToDefaultView, AddFieldOptions options)
        {
            ClientRuntimeContext context = base.Context;

            if (base.Context.ValidateOnClient)
            {
                if (schemaXml == null)
                {
                    throw ClientUtility.CreateArgumentNullException("schemaXml");
                }
                if (schemaXml != null && schemaXml.Length == 0)
                {
                    throw ClientUtility.CreateArgumentException("schemaXml");
                }
            }
            Field field = new Field(context, new ObjectPathMethod(context, base.Path, "AddFieldAsXml", new object[]
            {
                schemaXml,
                addToDefaultView,
                options
            }));

            field.Path.SetPendingReplace();
            ObjectIdentityQuery objectIdentityQuery = new ObjectIdentityQuery(field.Path);

            context.AddQueryIdAndResultObject(objectIdentityQuery.Id, field);
            context.AddQuery(objectIdentityQuery);
            base.AddChild(field);
            return(field);
        }
コード例 #2
0
        public SPOField AddFieldAsXml(string schemaXml, bool addToDefaultView, AddFieldOptions options)
        {
            var field = _list.Fields.AddFieldAsXml(schemaXml, addToDefaultView, options);

            _list.Context.Load(field);
            _list.Context.ExecuteQuery();
            return(new SPOField(field));
        }
コード例 #3
0
        public static Field AddFieldAsXmlToList(List list, XElement fieldDefinition,
            AddFieldOptions options, bool deleteExistant = false)
        {
            var listContext = list.Context;

            string fieldName = fieldDefinition.Attribute("Name").Value;
            Field exField = null;
            try
            {
                exField = list.Fields.SingleOrDefault(f => f.InternalName == fieldName);
            }
            catch (Exception ex)
            {
                if (ex is CollectionNotInitializedException || ex is PropertyOrFieldNotInitializedException)
                {
                    listContext.Load(list.Fields);
                    listContext.ExecuteQuery();
                    exField = list.Fields.SingleOrDefault(f => f.InternalName == fieldName);
                }
                else throw;
            }

            Field newField = null;
            if (exField == null)
            {
                newField = list.Fields.AddFieldAsXml(fieldDefinition.ToString(), false, options);
                list.Update();
                listContext.ExecuteQuery();
            }
            else if (deleteExistant)
            {
                exField.DeleteObject();
                listContext.ExecuteQuery();

                newField = list.Fields.AddFieldAsXml(fieldDefinition.ToString(), false, options);
                list.Update();
                listContext.ExecuteQuery();
            }
            else
            {
                newField = exField;
            }
           
            return newField;
        }
コード例 #4
0
 //Helper Member to add fields
 Field AddFieldAsXml(List list, string fieldInternalName, string fieldDisplayName, Guid fieldId, string fieldType = "Text", string additionalAttributes = "", AddFieldOptions options = AddFieldOptions.AddFieldToDefaultView)
 {
     var fieldXml = string.Format(FIELD_XML_FORMAT, fieldType, fieldInternalName, fieldDisplayName, fieldId, additionalAttributes);
     var field = list.Fields.AddFieldAsXml(fieldXml, true, options | AddFieldOptions.AddFieldInternalNameHint);
     return field;
 }
コード例 #5
0
ファイル: Helper.cs プロジェクト: chrhodes/VNC
 public static void CreateSiteColumn(ClientContext ctx, Web web, string schemaXml, AddFieldOptions addFieldOptions, bool addToDefaultView = false)
 {
     try
     {
         web.Fields.AddFieldAsXml(schemaXml, addToDefaultView, addFieldOptions);
         ctx.ExecuteQuery();
     }
     catch (Exception ex)
     {
         WriteDiagnosticOutput(ex.ToString());
     }
 }
コード例 #6
0
        //Helper Member to add fields
        Field AddFieldAsXml(List list, string fieldInternalName, string fieldDisplayName, Guid fieldId, string fieldType = "Text", string additionalAttributes = "", AddFieldOptions options = AddFieldOptions.AddFieldToDefaultView)
        {
            var fieldXml = string.Format(FIELD_XML_FORMAT, fieldType, fieldInternalName, fieldDisplayName, fieldId, additionalAttributes);
            var field    = list.Fields.AddFieldAsXml(fieldXml, true, options | AddFieldOptions.AddFieldInternalNameHint);

            return(field);
        }
コード例 #7
0
        public static void AddField(this FieldCollection fields, FieldType type, string displayName, string internalName, AddFieldOptions addFieldOptions, bool addToDefaultView, bool?readOnly = null)
        {
            var field = new XElement("Field");

            field.SetAttributeValue("Type", type);
            field.SetAttributeValue("DisplayName", displayName);
            field.SetAttributeValue("Name", internalName);

            if (readOnly.HasValue)
            {
                field.SetAttributeValue("ReadOnly", readOnly);
            }

            fields.AddFieldAsXml(field.ToString(), addToDefaultView, addFieldOptions);
        }
コード例 #8
0
 public SPOField AddFieldAsXml(string schemaXml, bool addToDefaultView, AddFieldOptions options)
 {
     var field = _list.Fields.AddFieldAsXml(schemaXml, addToDefaultView, options);
     _list.Context.Load(field);
     _list.Context.ExecuteQuery();
     return new SPOField(field);
 }