/// <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); }
public void TestProviderMetadataType() { var pi = typeof(TestGridAnnotationModel).GetProperty("Title"); var opt = _provider.GetAnnotationForColumn <TestGridAnnotationModel>(pi); Assert.IsNotNull(opt); Assert.AreEqual(opt.Title, "Some title"); //ensure that title reads from metadata type class var gridSettings = _provider.GetAnnotationForTable <TestGridAnnotationModel>(); Assert.IsNotNull(gridSettings); Assert.AreEqual(gridSettings.PageSize, 20); Assert.AreEqual(gridSettings.PagingEnabled, true); }