locked
custom properties in a custom field RRS feed

  • Question

  • I have a custom field inherit from SPFieldUrl. He have a custom properties and i need to save this properties to get this informations in the Classe of the Control.

    this is my Field class : 

    class CustomLookup : SPFieldUrl
        {
           
            public Guid WebSourceId
            {
                get
                {
                        return this.WebSourceId;
                }
                set
                {
                        this.WebSourceId = value;
                }
                
            }
            

            /// <summary>
            /// Get or set the Id of the lookup list.
            /// </summary>
            public Guid LookupListId
            {
                get
                {
                    return this.LookupListId;
                }
                set
                {
                    this.LookupListId = value;
                }
            }
            

            /// <summary>
            /// Get or set the Id of the field to use as the display column.
            /// </summary>
            public Guid DisplayColumnId
            {
                get
                {
                    return this.DisplayColumnId;
                }
                set
                {
                    this.DisplayColumnId = value;
                }
            }

           
             #region Constructors

            public CustomLookup(SPFieldCollection fields, string fieldName)
                : base(fields, fieldName)
            {
                this.Initialize();
                
            }

            public CustomLookup(SPFieldCollection fields, string typeName, string displayName)
                : base(fields, typeName, displayName)
            {
                this.Initialize();
                
            }

            #endregion Constructors
            public override BaseFieldControl FieldRenderingControl
            {
                get
                {
                    BaseFieldControl fieldControl = new CustomLookupControl(this);
                    fieldControl.FieldName = InternalName;
                    return fieldControl;
                }
            }
            
            public override void Update()
            {
                this.SetCustomProperty("WebSourceId", WebSourceId);
                this.SetCustomProperty("LookupListId", LookupListId);
                this.SetCustomProperty("DisplayColumnId", DisplayColumnId);
                base.Update();
                
            }
            private void Initialize()
            {
                if (GetCustomProperty("WebSourceId") != null)
                {
                    this.WebSourceId = (Guid)this.GetCustomProperty("WebSourceId");
                    this.LookupListId = (Guid)this.GetCustomProperty("LookupListId");
                    this.DisplayColumnId = (Guid)this.GetCustomProperty("DisplayColumnId");
                }
                
                
            }
            
            
        }

     
    • Moved by star.wars Thursday, May 22, 2014 12:35 PM
    Wednesday, May 21, 2014 4:07 PM