/// <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); }