Beispiel #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);
        }
Beispiel #2
0
        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);
        }