Esempio n. 1
0
        public Grid(IDataQueryable <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);
            AddItemsPreProcessor(_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();
        }
Esempio n. 2
0
 public OrdersAjaxPagingGrid(IDataQueryable <Order> items, int page, bool renderOnlyRows)
     : base(items)
 {
     Pager = new AjaxGridPager(this)
     {
         CurrentPage = page
     };;                                                       //override  default pager
     RenderOptions.RenderRowsOnly = renderOnlyRows;
 }
Esempio n. 3
0
        public static HtmlGrid <T> Grid <T>(this HtmlHelper helper, IDataQueryable <T> items,
                                            GridRenderOptions renderOptions)
            where T : class
        {
            var newGrid = new Grid <T>(items);

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

            return(htmlGrid);
        }
Esempio n. 4
0
        public IEnumerable <T> Process(IDataQueryable <T> items)
        {
            _pager.Initialize(items); //init pager

            int currentPage = _pager.CurrentPage;

            if (currentPage <= 0)
            {
                currentPage = 1;
            }

            int skip = (currentPage - 1) * _pager.PageSize;

            return(items.Fetch(skip, _pager.PageSize));
        }
Esempio n. 5
0
        public void ApplyOrder(IDataQueryable <T> items)
        {
            switch (_initialDirection)
            {
            case GridSortDirection.Ascending:
                items.OrderList.Add(ColumnOrder <T> .NewColumnOrder(_expression));
                break;

            case GridSortDirection.Descending:
                items.OrderList.Add(ColumnOrder <T> .NewColumnOrder(_expression, OrderDirection.Descending));
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Esempio n. 6
0
        protected void PrepareItemsToDisplay()
        {
            if (!_itemsProcessed)
            {
                _itemsProcessed = true;
                IDataQueryable <T> itemsToProcess = GridItems;

                if (_processor != null)
                {
                    AfterItems = _processor.Process(itemsToProcess);
                }
                else
                {
                    AfterItems = itemsToProcess.Fetch();
                }
            }
        }
Esempio n. 7
0
        public void Process(IDataQueryable <T> items)
        {
            if (string.IsNullOrEmpty(_settings.ColumnName))
            {
                return;
            }
            //determine gridColumn sortable:
            var gridColumn = _grid.Columns.FirstOrDefault(c => c.Name == _settings.ColumnName) as IGridColumn <T>;

            if (gridColumn == null || !gridColumn.SortEnabled)
            {
                return;
            }

            foreach (var columnOrderer in gridColumn.Orderers)
            {
                columnOrderer.ApplyOrder(items, _settings.Direction);
            }
        }
        public void Process(IDataQueryable <T> items)
        {
            //foreach (IGridColumn column in _grid.Columns)
            //{
            //    var gridColumn = column as IGridColumn<T>;
            //    if (gridColumn == null) continue;
            //    if (gridColumn.Filter == null) continue;

            //    IEnumerable<ColumnFilterValue> options = _settings.IsInitState
            //                                                 ? new List<ColumnFilterValue>
            //                                                     {
            //                                                         column.InitialFilterSettings
            //                                                     }
            //                                                 : _settings.FilteredColumns.GetByColumn(column);
            //    foreach (ColumnFilterValue filterOptions in options)
            //    {
            //        if (filterOptions == ColumnFilterValue.Null)
            //            continue;
            //        items = gridColumn.Filter.ApplyFilter(items, filterOptions);
            //    }
            //}
            //return items;
        }
Esempio n. 9
0
 public void ApplyOrder(IDataQueryable <T> items)
 {
     ApplyOrder(items, GridSortDirection.Ascending);
 }
Esempio n. 10
0
 protected GridBase(IDataQueryable <T> items)
 {
     BeforeItems = items;
 }
Esempio n. 11
0
 public TestGrid(IDataQueryable <TestModel> items)
     : base(items)
 {
 }
Esempio n. 12
0
 public OrdersGrid(IDataQueryable <Order> items)
     : base(items)
 {
 }
Esempio n. 13
0
 public virtual void Initialize <T>(IDataQueryable <T> items)
 {
     ItemsCount = items.FetchCount(); //take total items count from collection
 }
Esempio n. 14
0
 public static HtmlGrid <T> Grid <T>(this HtmlHelper helper, IDataQueryable <T> items, string viewName)
     where T : class
 {
     return(Grid(helper, items, GridRenderOptions.Create(string.Empty, viewName)));
 }
Esempio n. 15
0
 public static HtmlGrid <T> Grid <T>(this HtmlHelper helper, IDataQueryable <T> items)
     where T : class
 {
     return(Grid(helper, items, DefaultPartialViewName));
 }
Esempio n. 16
0
 public void ApplyOrder(IDataQueryable <T> items, GridSortDirection direction)
 {
     ApplyOrder(items);
 }
Esempio n. 17
0
 public void Initialize <T>(IDataQueryable <T> items)
 {
     //do nothing
 }