public void AddQueryString(string parameterName, string parameterValue) { if (string.IsNullOrEmpty(parameterName)) { throw new ArgumentException("parameterName"); } if (parameterName.Equals(QueryStringFilterSettings.DefaultTypeQueryParameter)) { throw new ArgumentException("parameterName cannot be " + QueryStringFilterSettings.DefaultTypeQueryParameter); } if (_query.ContainsKey(parameterName)) { var parameterValues = _query[parameterName].ToList(); parameterValues.Add(parameterValue); _query[parameterName] = new StringValues(parameterValues.ToArray()); } else { _query.Add(parameterName, parameterValue); } _settings = new QueryStringGridSettingsProvider(_query); _columnsCollection.SortSettings = _settings.SortSettings; _columnsCollection.UpdateColumnsSorting(); ((GridPager)_pager).Query = _query; }
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(); }
public CGrid(Func <QueryDictionary <StringValues>, ItemsDTO <T> > dataService, QueryDictionary <StringValues> query, bool renderOnlyRows, Action <IGridColumnCollection <T> > columns = null, CultureInfo cultureInfo = null) { _dataService = dataService; Items = new List <T>(); //response.Items; Url = null; _query = query; //set up sort settings: _settings = new QueryStringGridSettingsProvider(_query); Sanitizer = new Sanitizer(); if (cultureInfo != null) { Strings.CultureInfo = cultureInfo; } EmptyGridText = Strings.DefaultGridEmptyText; Language = Strings.Lang; _annotations = new GridAnnotaionsProvider(); //Set up column collection: _columnBuilder = new DefaultColumnBuilder <T>(this, _annotations); _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings); ComponentOptions = new GridOptions(); ApplyGridSettings(); Pager = new GridPager(query); ComponentOptions.RenderRowsOnly = renderOnlyRows; columns?.Invoke(Columns); }
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(); }
public void AddFilterParameter(string columnName, string filterType, string filterValue) { var filters = _query.Get(QueryStringFilterSettings.DefaultTypeQueryParameter).ToArray(); if (filters == null) { _query.Add(QueryStringFilterSettings.DefaultTypeQueryParameter, columnName + QueryStringFilterSettings.FilterDataDelimeter + filterType + QueryStringFilterSettings.FilterDataDelimeter + filterValue); } else { var newFilters = filters.Where(r => !r.ToLower().StartsWith(columnName.ToLower() + QueryStringFilterSettings.FilterDataDelimeter)).ToList(); newFilters.Add(columnName + QueryStringFilterSettings.FilterDataDelimeter + filterType + QueryStringFilterSettings.FilterDataDelimeter + filterValue); _query[QueryStringFilterSettings.DefaultTypeQueryParameter] = new StringValues(newFilters.ToArray()); } AddClearInitFilters(columnName); _settings = new QueryStringGridSettingsProvider(_query); _columnsCollection.SortSettings = _settings.SortSettings; _columnsCollection.UpdateColumnsSorting(); ((GridPager)_pager).Query = _query; }
public void AddFilterParameter(IGridColumn column, FilterCollection filters) { var columnFilters = _query.Get(QueryStringFilterSettings.DefaultTypeQueryParameter).ToArray(); if (ComponentOptions.AllowMultipleFilters) { if (columnFilters == null) { foreach (var filter in filters) { _query.Add(QueryStringFilterSettings.DefaultTypeQueryParameter, column.Name + QueryStringFilterSettings.FilterDataDelimeter + filter.Type + QueryStringFilterSettings.FilterDataDelimeter + filter.Value); } } else { var newFilters = columnFilters.Where(r => !r.ToLower().StartsWith(column.Name.ToLower() + QueryStringFilterSettings.FilterDataDelimeter)).ToList(); foreach (var filter in filters) { newFilters.Add(column.Name + QueryStringFilterSettings.FilterDataDelimeter + filter.Type + QueryStringFilterSettings.FilterDataDelimeter + filter.Value); } _query[QueryStringFilterSettings.DefaultTypeQueryParameter] = new StringValues(newFilters.ToArray()); } } else { RemoveQueryParameter(QueryStringFilterSettings.DefaultTypeQueryParameter); if (filters.Count() > 0) { _query.Add(QueryStringFilterSettings.DefaultTypeQueryParameter, column.Name + QueryStringFilterSettings.FilterDataDelimeter + filters.First().Type + QueryStringFilterSettings.FilterDataDelimeter + filters.First().Value); } } AddClearInitFilters(column); _settings = new QueryStringGridSettingsProvider(_query); _columnsCollection.SortSettings = _settings.SortSettings; _columnsCollection.UpdateColumnsSorting(); ((GridPager)_pager).Query = _query; }
public void RemoveQueryParameter(string parameterName) { if (string.IsNullOrEmpty(parameterName)) { throw new ArgumentException("parameterName"); } if (_query.ContainsKey(parameterName)) { _query.Remove(parameterName); _settings = new QueryStringGridSettingsProvider(_query); _columnsCollection.SortSettings = _settings.SortSettings; _columnsCollection.UpdateColumnsSorting(); ((GridPager)_pager).Query = _query; } }
public CGrid(string url, IQueryDictionary <StringValues> query, bool renderOnlyRows, Action <IGridColumnCollection <T> > columns = null, CultureInfo cultureInfo = null) { _dataService = null; _dataServiceAsync = null; Items = new List <T>(); _selectedItems = new List <object>(); _httpClient = null; Url = url; _query = query as QueryDictionary <StringValues>; //set up sort settings: _settings = new QueryStringGridSettingsProvider(_query); Sanitizer = new Sanitizer(); if (cultureInfo != null) { Strings.Culture = cultureInfo; } EmptyGridText = Strings.DefaultGridEmptyText; Language = Strings.Lang; _annotations = new GridAnnotationsProvider(); //Set up column collection: _columnBuilder = new DefaultColumnBuilder <T>(this, _annotations); _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings); ComponentOptions = new GridOptions(); ApplyGridSettings(); Pager = new GridPager(query); ComponentOptions.RenderRowsOnly = renderOnlyRows; columns?.Invoke(Columns); Mode = GridMode.Grid; CreateEnabled = false; ReadEnabled = false; UpdateEnabled = false; DeleteEnabled = false; }
public void RemoveFilterParameter(IGridColumn column) { var filters = _query.Get(QueryStringFilterSettings.DefaultTypeQueryParameter).ToArray(); if (filters != null) { var newFilters = filters.Where(r => !r.ToLower().StartsWith(column.Name.ToLower() + QueryStringFilterSettings.FilterDataDelimeter)); _query[QueryStringFilterSettings.DefaultTypeQueryParameter] = new StringValues(newFilters.ToArray()); } AddClearInitFilters(column); _settings = new QueryStringGridSettingsProvider(_query); _columnsCollection.SortSettings = _settings.SortSettings; _columnsCollection.UpdateColumnsSorting(); ((GridPager)_pager).Query = _query; }
public void RemoveQueryString(string parameterName, string parameterValue) { if (string.IsNullOrEmpty(parameterName)) { throw new ArgumentException("parameterName"); } if (_query.ContainsKey(parameterName)) { var parameterValues = _query[parameterName].ToList(); parameterValues.Remove(parameterValue); _query[parameterName] = new StringValues(parameterValues.ToArray()); _settings = new QueryStringGridSettingsProvider(_query); _columnsCollection.SortSettings = _settings.SortSettings; _columnsCollection.UpdateColumnsSorting(); ((GridPager)_pager).Query = _query; } }
public SGridCore(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 GridCoreAnnotationsProvider(); //Set up column collection: if (columnBuilder == null) { _columnBuilder = new DefaultColumnCoreBuilder <T>(this, _annotations); } else { _columnBuilder = columnBuilder; } _columnsCollection = new GridColumnCollection <T>(this, _columnBuilder, _settings.SortSettings); RenderOptions = new GridRenderOptions(); ApplyGridSettings(); }
private CGrid(HttpClient httpClient, string url, Func <QueryDictionary <StringValues>, ItemsDTO <T> > dataService, Func <QueryDictionary <StringValues>, Task <ItemsDTO <T> > > dataServiceAsync, IQueryDictionary <StringValues> query, bool renderOnlyRows, Action <IGridColumnCollection <T> > columns = null, CultureInfo cultureInfo = null, IColumnBuilder <T> columnBuilder = null) { _dataServiceAsync = dataServiceAsync; _dataService = dataService; _selectedItems = new List <object>(); Items = new List <T>(); //response.Items; Url = url; _httpClient = httpClient; _query = query as QueryDictionary <StringValues>; //set up sort settings: _settings = new QueryStringGridSettingsProvider(_query); Sanitizer = new Sanitizer(); if (cultureInfo != null) { CultureInfo.CurrentCulture = cultureInfo; } EmptyGridText = Strings.DefaultGridEmptyText; Language = Strings.Lang; _currentPagerODataProcessor = new PagerGridODataProcessor <T>(this); _currentSortODataProcessor = new SortGridODataProcessor <T>(this, _settings.SortSettings); _currentFilterODataProcessor = new FilterGridODataProcessor <T>(this, _settings.FilterSettings, _settings.SearchSettings); _currentSearchODataProcessor = new SearchGridODataProcessor <T>(this, _settings.SearchSettings); _currentExpandODataProcessor = new ExpandGridODataProcessor <T>(this); _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); ComponentOptions = new GridOptions(); ApplyGridSettings(); Pager = new GridPager(query); ComponentOptions.RenderRowsOnly = renderOnlyRows; columns?.Invoke(Columns); Mode = GridMode.Grid; CreateEnabled = false; ReadEnabled = false; UpdateEnabled = false; DeleteEnabled = false; ButtonComponents = new QueryDictionary <(string Label, Nullable <MarkupString> Content, Type ComponentType, IList <Action <object> > Actions, IList <Func <object, Task> > Functions, object Object)>(); }