示例#1
0
		public void InitFields(SPContentTypeInfo contentType)
		{
			this.fields.Clear();
			this.flowLayoutPanelFields.Controls.Clear();

			foreach (SPFieldInfo fieldInfo in contentType.Fields)
			{
				if (fieldInfo.Hidden)
					continue;
				if (fieldInfo.Group.ToLower() == "_hidden" && !fieldInfo.FromBaseType)
					continue;
				if (fieldInfo.ReadOnly)
					continue;
				if (fieldInfo.Type.ToLower() == "file")
					continue;

				AddField(fieldInfo);
			}
		}
示例#2
0
		internal void InitContentTypes(string documentLibraryUrl)
		{
			try
			{
				// don't need to load again
				if ((string)this.comboBoxContentType.Tag == documentLibraryUrl)
					return;

				using (Proxy.NavigatorRef.Navigator navigator = WebServiceController.GetNavigator(documentLibraryUrl))
				{
					string listUrl = NavigatorExtensions.GetListUrl(documentLibraryUrl, navigator);
					string libraryName = NavigatorExtensions.GetLibraryName(documentLibraryUrl, navigator);
					this.comboBoxContentType.Items.Clear();
					this.comboBoxContentType.Tag = documentLibraryUrl;

					XmlNode[] contentTypes = navigator.GetContentTypes(documentLibraryUrl);
					if (contentTypes.Length == 0)
					{
						Logger.LogInfo("Navigator.GetContentTypes() returned empty collection - disabling content types for '" + documentLibraryUrl + "'");
						EnableContentTypeControls(false);
						return;
					}

					foreach (XmlNode contentTypeNode in contentTypes)
					{
						SPContentTypeInfo ctInfo = new SPContentTypeInfo(contentTypeNode);
						if (IsDocumentBasedContentType(ctInfo.Id))
						{
							this.comboBoxContentType.Items.Add(ctInfo);
						}
					}
					
					if (comboBoxContentType.Items.Count > 0)
					{
						this.comboBoxContentType.SelectedIndex = 0;
					}

					EnableContentTypeControls();
				}
			}
			catch (Exception ex)
			{
				Logger.LogError(ex);
				throw;
			}
		}