/// <summary> /// Creates column from property info using reflection /// </summary> public IGridColumn <T> CreateColumn(PropertyInfo pi) { if (!_annotaions.IsColumnMapped(pi)) { return(null); //grid column not mapped } IGridColumn <T> column; GridColumnAttribute columnOpt = _annotaions.GetAnnotationForColumn <T>(pi); if (columnOpt != null) { column = CreateColumn(pi, false); ApplyColumnAnnotationSettings(column, columnOpt); } else { GridHiddenColumnAttribute columnHiddenOpt = _annotaions.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); }
public void TestProviderMetadataType() { var pi = typeof(TestGridAnnotationModel).GetProperty("Title"); var opt = _provider.GetAnnotationForColumn <TestGridAnnotationModel>(pi); PAssert.IsTrue(() => opt != null); PAssert.IsTrue(() => opt.Title == "Some title"); //ensure that title reads from metadata type class var gridSettings = _provider.GetAnnotationForTable <TestGridAnnotationModel>(); PAssert.IsTrue(() => gridSettings != null); PAssert.IsTrue(() => gridSettings.PageSize == 20); PAssert.IsTrue(() => gridSettings.PagingEnabled); }