コード例 #1
0
        /// <summary>
        ///     Creates column from property info using reflection
        /// </summary>
        public IGridColumn <T> CreateColumn(PropertyInfo pi)
        {
            if (!_annotations.IsColumnMapped(pi))
            {
                return(null); //grid column not mapped
            }
            IGridColumn <T>     column;
            GridColumnAttribute columnOpt = _annotations.GetAnnotationForColumn <T>(pi);

            if (columnOpt != null)
            {
                column = CreateColumn(pi, false);
                ApplyColumnAnnotationSettings(column, columnOpt);
            }
            else
            {
                GridHiddenColumnAttribute columnHiddenOpt = _annotations.GetAnnotationForHiddenColumn <T>(pi);
                if (columnHiddenOpt != null)
                {
                    column = CreateColumn(pi, true);
                    ApplyHiddenColumnAnnotationSettings(column, columnHiddenOpt);
                }
                else
                {
                    column = CreateColumn(pi, false);
                    ApplyColumnAnnotationSettings(column, new GridColumnAttribute());
                }
            }
            return(column);
        }