示例#1
0
        public Grid(IQueryable <T> items)
            : base(items)
        {
            #region init default properties

            //set up sort settings:
            _settings     = new QueryStringGridSettingsProvider();
            Sanitizer     = new Sanitizer();
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _currentSortItemsProcessor   = new SortGridItemsProcessor <T>(this, _settings.SortSettings);
            _currentFilterItemsProcessor = new FilterGridItemsProcessor <T>(this, _settings.FilterSettings);
            AddItemsPreProcessor(_currentFilterItemsProcessor);
            InsertItemsProcessor(0, _currentSortItemsProcessor);

            _annotaions = new GridAnnotaionsProvider();

            #endregion

            //Set up column collection:
            _columnBuilder     = new DefaultColumnBuilder <T>(this, _annotaions);
            _columnsCollection = new GridColumnCollection <T>(_columnBuilder, _settings.SortSettings);
            RenderOptions      = new GridRenderOptions();

            ApplyGridSettings();
        }
示例#2
0
        public SGrid(IEnumerable <T> items, IQueryCollection query)
            : base(items)
        {
            #region init default properties

            Query = QueryDictionary <StringValues> .Convert(query);

            //set up sort settings:
            _settings = new QueryStringGridSettingsProvider(Query);

            Sanitizer     = new Sanitizer();
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _currentSortItemsProcessor   = new SortGridItemsProcessor <T>(this, _settings.SortSettings);
            _currentFilterItemsProcessor = new FilterGridItemsProcessor <T>(this, _settings.FilterSettings);
            _currentSearchItemsProcessor = new SearchGridItemsProcessor <T>(this, _settings.SearchSettings);
            _currentTotalsItemsProcessor = new TotalsGridItemsProcessor <T>(this);
            AddItemsPreProcessor(_currentFilterItemsProcessor);
            AddItemsPreProcessor(_currentSearchItemsProcessor);
            InsertItemsProcessor(0, _currentSortItemsProcessor);
            SetTotalsProcessor(_currentTotalsItemsProcessor);

            _annotations = new GridAnnotationsProvider();

            #endregion init default properties

            //Set up column collection:
            _columnBuilder     = new DefaultColumnBuilder <T>(this, _annotations);
            _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings);
            RenderOptions      = new GridRenderOptions();

            ApplyGridSettings();
        }
示例#3
0
        public static HtmlGrid <T> Grid <T>(this IHtmlHelper helper, IEnumerable <T> items,
                                            GridRenderOptions renderOptions, IViewEngine viewEngine)
        {
            var newGrid = new SGrid <T>(items, helper.ViewContext.HttpContext.Request.Query);

            newGrid.RenderOptions = renderOptions;
            var htmlGrid = new HtmlGrid <T>(newGrid, helper.ViewContext, renderOptions.ViewName, viewEngine);

            return(htmlGrid);
        }
        public static HtmlGrid <T> Grid <T>(this HtmlHelper helper, IEnumerable <T> items,
                                            GridRenderOptions renderOptions)
            where T : class
        {
            var newGrid = new Grid <T>(items.AsQueryable());

            newGrid.RenderOptions = renderOptions;
            var htmlGrid = new HtmlGrid <T>(newGrid, helper.ViewContext, renderOptions.ViewName);

            return(htmlGrid);
        }
示例#5
0
        public SGrid(IEnumerable <T> items, QueryDictionary <StringValues> query, IColumnBuilder <T> columnBuilder = null)
            : this()
        {
            BeforeItems = items.AsQueryable();

            #region init default properties

            Query = query;

            //set up sort settings:
            _settings = new QueryStringGridSettingsProvider(Query);

            Sanitizer     = new Sanitizer();
            EmptyGridText = Strings.DefaultGridEmptyText;
            Language      = Strings.Lang;

            _currentSortItemsProcessor   = new SortGridItemsProcessor <T>(this, _settings.SortSettings);
            _currentFilterItemsProcessor = new FilterGridItemsProcessor <T>(this, _settings.FilterSettings);
            _currentSearchItemsProcessor = new SearchGridItemsProcessor <T>(this, _settings.SearchSettings);
            _currentTotalsItemsProcessor = new TotalsGridItemsProcessor <T>(this);
            AddItemsPreProcessor(_currentFilterItemsProcessor);
            AddItemsPreProcessor(_currentSearchItemsProcessor);
            InsertItemsProcessor(0, _currentSortItemsProcessor);
            SetTotalsProcessor(_currentTotalsItemsProcessor);

            #endregion init default properties
            _annotations = new GridAnnotationsProvider();

            //Set up column collection:
            if (columnBuilder == null)
            {
                _columnBuilder = new DefaultColumnBuilder <T>(this, _annotations);
            }
            else
            {
                _columnBuilder = columnBuilder;
            }
            _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings);
            RenderOptions      = new GridRenderOptions();

            ApplyGridSettings();
        }
示例#6
0
 public static HtmlGrid <T> Grid <T>(this IHtmlHelper helper, IEnumerable <T> items, string viewName, IViewEngine viewEngine)
 {
     return(Grid(helper, items, GridRenderOptions.Create(string.Empty, viewName), viewEngine));
 }
 public static HtmlGrid <T> Grid <T>(this HtmlHelper helper, IEnumerable <T> items, string viewName)
     where T : class
 {
     return(Grid(helper, items, GridRenderOptions.Create(string.Empty, viewName)));
 }