Exemple #1
0
        public void OnMetadataCreated(ModelMetadata metadata)
        {
            if (metadata == null)
            {
                throw new ArgumentNullException("metadata");
            }

            var column = this.CreateColumn();

            if (!this.Ignore)
            {
                column.DataIndex = metadata.PropertyName;
                if (metadata.AdditionalValues.ContainsKey(ModelFieldAttribute.KEY))
                {
                    string name = ((ModelFieldAttribute)metadata.AdditionalValues[ModelFieldAttribute.KEY]).Name;
                    if (name.IsNotEmpty())
                    {
                        column.DataIndex = name;
                    }
                }

                column.Text = Regex.Replace(metadata.PropertyName, "([a-z])([A-Z])", "$1 $2");

                BaseControl.Apply(column, this);

                if (this.EditorRendererHandler != null)
                {
                    column.EditorRenderer.Fn = this.EditorRendererHandler;
                }

                if (this.RendererHandler != null)
                {
                    column.Renderer.Fn = this.RendererHandler;
                }

                if (this.Width != 0)
                {
                    column.Width = this.Width;
                }
            }
            else
            {
                metadata.AdditionalValues[ColumnBaseAttribute.KEY_IGNORE] = true;
            }

            metadata.AdditionalValues[ColumnBaseAttribute.KEY]       = column;
            metadata.AdditionalValues[ColumnBaseAttribute.KEY_ORDER] = this.Order;
        }