Skip Navigation LinksПрограмування > Програмування форм-вкладок з полями

Програмування форм-вкладок з полями


У даній статті ми вивчимо можливості FossLook по створенню форм-вкладок для "розвантаження" основний картки документа. Ознайомтеся зі статтею " Програмування в FossLook " для отримання базових знань, необхідних     для розуміння викладеного матеріалу.

У даній статті ми продовжимо роботу над нашою бібліотекою "Моя бібліотека". У нашому розпорядженні є документ такого виду:

Документ FossLook

Припустимо, що нам потрібно взяти поле "Важливість документа" і перенести його на окрему закладку з ім'ям "Важливість".

Для реалізації даного завдання нам необхідно створити на диску файл з ім'ям "FormImportance.cs", який міститиме наступний код:

using System;
using System.Collections.Generic;
using System.Text;
using Foss.FossDoc.ObjectModel.DataRepresentation.Plugins.Forms;
using Foss.FossDoc.ObjectModel.DataRepresentation.Plugins;
using Foss.FossDoc.ObjectModel.DataRepresentation.View;
using Foss.FossDoc.ObjectModel.DataRepresentation.View.DocumentCard;
using Foss.FossDoc.ObjectModel.Data;
using DS;

namespace Foss.FossDoc.Plugins.DocumentLibrary._00000004ACC4D0E64E6E4BB3AB556A978E31326F
{
	public class FormImportance : Foss.FossDoc.ObjectModel.DataRepresentation.View.DocumentCard.CardFormCustom
	{
		protected override TPropertyTag[] HideAndShowFileds
		{
			get
			{
				return new TPropertyTag[1] {
					Foss.FossDoc.ApplicationServer.Converters.PropertyTag.FromString("0x80700F00")
				};
			}
		}
	}
}

Де "0x80700F00"це тег поля" Важливість документа & quot;. Якщо ми подивимося на вкладку "Об'єкт" поля "Важливість документа" за допомогою системи адміністрування, то це поєднання двох властивостей: "Ідентифікатор властивості" і "Тип властивості". Старша частина це ідентифікатор, а молодша описує тип поля.

Також нам необхідно створити на диску файл з ім'ям "FormImportanceInfo.cs", який міститиме наступний код:

using System;
using System.Collections.Generic;
using System.Text;
using Foss.FossDoc.ObjectModel.DataRepresentation.Plugins.Forms;
using Foss.FossDoc.ObjectModel.DataRepresentation.Plugins;
using Foss.FossDoc.ObjectModel.DataRepresentation.View;

namespace Foss.FossDoc.Plugins.DocumentLibrary._00000004ACC4D0E64E6E4BB3AB556A978E31326F
{
	public class FormImportanceInfo : IFormInfoOverride
	{
		public FormContext Context
		{
			get
			{
				return FormContext.Inplace;
			}
		}

		public FormPriority Priority
		{
			get
			{
				return FormPriority.High;
			}
		}

		public IForm CreateInstance()
		{
			return new FormImportance();
		}

		public IFormInfo Clone()
		{
			return null;
		}

		public System.Drawing.Image Icon
		{
			get
			{
				return null;
			}
		}

		string IExtensionContextInfo.UniqueName
		{
			get
			{
				return typeof(FormImportance).FullName;
			}
		}

		public string Name
		{
			get
			{
				return "Важливість";
			}
		}

		public string Description
		{
			get
			{
				return "";
			}
		}

		public string[] CategoryNames
		{
			get
			{
				return new string[] 
				{
					"Моя бібліотека.Документ.x62850399"
				};
			}
		}

		public string[] GetCategoryAttributeNames(string categoryName)
		{
			return null;
		}

		public string[] OverridenFromsUniqueNames
		{
			get
			{
				return new[] { Foss.FossDoc.ObjectModel.DataRepresentation.View.DocumentCard.FormNames.DocumentCardInplaceForm };
			}
		}
	}
}

Необхідно звернути увагу на область "CategoryNames", в лапках необхідно вказати унікальне ім'я того типу документа, з яким ви в даний момент працюєте. За допомогою системи адміністрування і закладки "Об'єкт" можна побачити унікальне ім'я потрібного вам типу документа.

Далі, файли "FormImportance.cs" і "FormImportanceInfo.cs" необхідно додати в "Default form script" необхідного вам типу документа.

Тип документа FossLook

Після всіх виконаних нами дій, документ набуває наступний вигляд:

Документ FossLook

© 2001-2017 ФОСС-Он-Лайн. Всі права захищені.