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(); }
public OrdersAjaxPagingGrid(IDataQueryable <Order> items, int page, bool renderOnlyRows) : base(items) { Pager = new AjaxGridPager(this) { CurrentPage = page };; //override default pager RenderOptions.RenderRowsOnly = renderOnlyRows; }
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); }
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)); }
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(); } }
protected void PrepareItemsToDisplay() { if (!_itemsProcessed) { _itemsProcessed = true; IDataQueryable <T> itemsToProcess = GridItems; if (_processor != null) { AfterItems = _processor.Process(itemsToProcess); } else { AfterItems = itemsToProcess.Fetch(); } } }
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; }
public void ApplyOrder(IDataQueryable <T> items) { ApplyOrder(items, GridSortDirection.Ascending); }
protected GridBase(IDataQueryable <T> items) { BeforeItems = items; }
public TestGrid(IDataQueryable <TestModel> items) : base(items) { }
public OrdersGrid(IDataQueryable <Order> items) : base(items) { }
public virtual void Initialize <T>(IDataQueryable <T> items) { ItemsCount = items.FetchCount(); //take total items count from collection }
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))); }
public static HtmlGrid <T> Grid <T>(this HtmlHelper helper, IDataQueryable <T> items) where T : class { return(Grid(helper, items, DefaultPartialViewName)); }
public void ApplyOrder(IDataQueryable <T> items, GridSortDirection direction) { ApplyOrder(items); }
public void Initialize <T>(IDataQueryable <T> items) { //do nothing }