В этой статье вы узнаете, как создать простой класс, который будет предоставлять свойство View.Id типа string. Затем для этого свойства будет назначен ViewIdPropertyEditor. Выполните шаги, описанные ниже.

 [DefaultClassOptions]

 public class ObjectWithStringViewId : BaseObject

 {

         public ObjectWithStringViewId(Session session)

                 : base(session)

         {

         }

 

         private string _name;

         private int _number;

         private string _viewId;

 

         public string Name

         {

                 get { return this._name; }

                 set { this.SetPropertyValue("Name", ref this._name, value); }

         }

 

         public string ViewId

         {

                 get { return this._viewId; }

                 set { this.SetPropertyValue("ViewId", ref this._viewId, value); }

         }

 

         public int Number

         {

                 get { return this._number; }

                 set { this.SetPropertyValue("Number", ref this._number, value); }

         }

 }

public class Updater : ModuleUpdater

 {

         public Updater(IObjectSpace objectSpace, Version currentDBVersion)

                 : base(objectSpace, currentDBVersion) {}

 

         public override void UpdateDatabaseAfterUpdateSchema()

         {

                 base.UpdateDatabaseAfterUpdateSchema();

                 this.CreateObjectsWithStringViewId();

         }

 

         private void CreateObjectsWithStringViewId()

         {

                 var objects = this.ObjectSpace.GetObjects<ObjectWithStringViewId>();

                 if (objects.Count >= 1) return;

 

                 var obj = this.ObjectSpace.CreateObject<ObjectWithStringViewId>();

                 obj.Name = "Object with 'ListView' id";

                 obj.Number = 1;

                 obj.ViewId = "ObjectWithStringViewId_ListView";

                 this.ObjectSpace.CommitChanges();

 

                 var obj1 = this.ObjectSpace.CreateObject<ObjectWithStringViewId>();

                 obj1.Name = "Object with 'DetailView' id";

                 obj1.Number = 2;

                 obj1.ViewId = "ObjectWithStringViewId_DetailView";

                 this.ObjectSpace.CommitChanges();

 

                 var obj2 = this.ObjectSpace.CreateObject<ObjectWithStringViewId>();

                 obj2.Name = "Object with not existed view id";

                 obj2.Number = 3;

                 obj2.ViewId = "Hello from Xafari ;)";

                 this.ObjectSpace.CommitChanges();

         }

 }

Windows Forms:

ASP.NET:

Доступны следующие критерии фильтрации:

Вы можете скачать полный пример, используемый в этой статье.