protected override void OnParametersSet() { _filterComponents = new QueryDictionary <Type>(); _filterComponents.Add("System.String", typeof(TextFilterComponent <T>)); _filterComponents.Add("System.Int32", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.Double", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.Decimal", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.Byte", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.Single", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.Float", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.Int64", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.Int16", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.UInt64", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.UInt32", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.UInt16", typeof(NumberFilterComponent <T>)); _filterComponents.Add("System.DateTime", typeof(DateTimeFilterComponent <T>)); _filterComponents.Add("System.Date", typeof(DateTimeFilterComponent <T>)); _filterComponents.Add("System.DateTimeOffset", typeof(DateTimeFilterComponent <T>)); _filterComponents.Add("System.Boolean", typeof(BooleanFilterComponent <T>)); if (CustomFilters == null) { CustomFilters = new QueryDictionary <Type>(); } if (CustomFilters.Any(r => r.Key.Equals(SelectItem.ListFilter))) { CustomFilters.Remove(SelectItem.ListFilter); } CustomFilters.Add(SelectItem.ListFilter, typeof(ListFilterComponent <T>)); foreach (var widget in CustomFilters) { if (_filterComponents.ContainsKey(widget.Key)) { _filterComponents[widget.Key] = widget.Value; } else { _filterComponents.Add(widget); } } FirstColumn = (ICGridColumn)Grid.Columns.FirstOrDefault(); _hasSubGrid = Grid.SubGridKeys != null && Grid.SubGridKeys.Length > 0; _hasTotals = Grid.IsSumEnabled || Grid.IsAverageEnabled || Grid.IsMaxEnabled || Grid.IsMinEnabled; _requiredTotalsColumn = _hasTotals && FirstColumn != null && (FirstColumn.IsSumEnabled || FirstColumn.IsAverageEnabled || FirstColumn.IsMaxEnabled || FirstColumn.IsMinEnabled); InitSubGridVars(); var queryBuilder = new CustomQueryStringBuilder(Grid.Settings.SearchSettings.Query); var exceptQueryParameters = new List <string> { GridPager.DefaultPageSizeQueryParameter }; _changePageSizeUrl = queryBuilder.GetQueryStringExcept(exceptQueryParameters); _pageSize = Grid.Pager.ChangePageSize && Grid.Pager.QueryPageSize > 0 ? Grid.Pager.QueryPageSize : Grid.Pager.PageSize; }
public GridPager(IQueryDictionary <StringValues> query) { if (query == null) { throw new Exception("No http context here!"); } _query = query; _currentPage = -1; _queryBuilder = new CustomQueryStringBuilder(query); ParameterName = DefaultPageQueryParameter; TemplateName = DefaultPagerViewName; MaxDisplayedPages = MaxDisplayedPages; string pageSizeParameter = query.Get(DefaultPageSizeQueryParameter); int pageSize = 0; if (pageSizeParameter != null) { int.TryParse(pageSizeParameter, out pageSize); } QueryPageSize = pageSize; PageSize = DefaultPageSize; }
private string GetSortUrl(string columnName, GridSortDirection?direction) { //switch direction for link: GridSortDirection newDir = direction == GridSortDirection.Ascending ? GridSortDirection.Descending : GridSortDirection.Ascending; //determine current url: var builder = new CustomQueryStringBuilder(_settings.Context.Request.QueryString); string url = builder.GetQueryStringExcept(new[] { GridPager.DefaultPageQueryParameter, _settings.ColumnQueryParameterName, _settings.DirectionQueryParameterName }); if (string.IsNullOrEmpty(url)) { url = "?"; } else { url += "&"; } return(string.Format("{0}{1}={2}&{3}={4}", url, _settings.ColumnQueryParameterName, columnName, _settings.DirectionQueryParameterName, ((int)newDir).ToString(CultureInfo.InvariantCulture))); }
protected override void OnParametersSet() { _sortedColumns = Grid.Settings.SortSettings.SortValues.OrderBy(r => r.Id); var queryBuilder = new CustomQueryStringBuilder(Grid.Settings.SortSettings.Query); var exceptQueryParameters = new List <string>(); _groupUrl = queryBuilder.GetQueryStringExcept(exceptQueryParameters); }
public GridPager() { _query = new QueryDictionary <StringValues>(); _currentPage = -1; _queryBuilder = new CustomQueryStringBuilder(_query); ParameterName = DefaultPageQueryParameter; MaxDisplayedPages = MaxDisplayedPages; PageSize = DefaultPageSize; }
public GridPager(IQueryDictionary <StringValues> query) { if (query == null) { throw new Exception("No http context here!"); } _query = query; _currentPage = -1; _queryBuilder = new CustomQueryStringBuilder(query); ParameterName = DefaultPageQueryParameter; TemplateName = DefaultPagerViewName; MaxDisplayedPages = MaxDisplayedPages; PageSize = DefaultPageSize; }
public BaseGridPager(HttpContext context) { if (context == null) { throw new Exception("No http context here!"); } _context = context; _currentPage = -1; _queryBuilder = new CustomQueryStringBuilder(HttpContext.Current.Request.QueryString); ParameterName = DefaultPageQueryParameter; TemplateName = DefaultPagerViewName; MaxDisplayedPages = MaxDisplayedPages; PageSize = DefaultPageSize; }
public void TestWithParameter() { var queryStringParameters = new NameValueCollection(); queryStringParameters.Add("key1", "value1"); queryStringParameters.Add("key2", "value2"); queryStringParameters.Add("key3", "value3"); _builder = new CustomQueryStringBuilder(queryStringParameters); var str1 = _builder.GetQueryStringWithParameter("key4", "value4"); Assert.AreEqual(str1, "?key1=value1&key2=value2&key3=value3&key4=value4"); str1 = _builder.GetQueryStringWithParameter("key4", "value4new"); Assert.AreEqual(str1, "?key1=value1&key2=value2&key3=value3&key4=value4new"); }
public void TestWithParameter() { QueryDictionary <StringValues> query = new QueryDictionary <StringValues>(); query.Add("key1", "value1"); query.Add("key2", "value2"); query.Add("key3", "value3"); _builder = new CustomQueryStringBuilder(query); var str1 = _builder.GetQueryStringWithParameter("key4", "value4"); Assert.AreEqual(str1, "?key1=value1&key2=value2&key3=value3&key4=value4"); str1 = _builder.GetQueryStringWithParameter("key4", "value4new"); Assert.AreEqual(str1, "?key1=value1&key2=value2&key3=value3&key4=value4new"); }
public void TestExcept() { var queryStringParameters = new NameValueCollection(); queryStringParameters.Add("key1", "value1"); queryStringParameters.Add("key2", "value2"); _builder = new CustomQueryStringBuilder(queryStringParameters); var str1 = _builder.GetQueryStringExcept(new[] { "key1" }); Assert.AreEqual(str1, "?key2=value2"); str1 = _builder.GetQueryStringExcept(new[] { "key2" }); Assert.AreEqual(str1, "?key1=value1"); str1 = _builder.GetQueryStringExcept(new[] { "key1", "key2" }); Assert.AreEqual(str1, string.Empty); }
public void TestExcept() { var queryStringParameters = new NameValueCollection(); queryStringParameters.Add("key1", "value1"); queryStringParameters.Add("key2", "value2"); _builder = new CustomQueryStringBuilder(queryStringParameters); var str1 = _builder.GetQueryStringExcept(new[] { "key1" }); PAssert.IsTrue(() => str1 == "?key2=value2"); str1 = _builder.GetQueryStringExcept(new[] { "key2" }); PAssert.IsTrue(() => str1 == "?key1=value1"); str1 = _builder.GetQueryStringExcept(new[] { "key1", "key2" }); PAssert.IsTrue(() => str1 == ""); }
public void TestExcept() { QueryDictionary <StringValues> query = new QueryDictionary <StringValues>(); query.Add("key1", "value1"); query.Add("key2", "value2"); _builder = new CustomQueryStringBuilder(query); var str1 = _builder.GetQueryStringExcept(new[] { "key1" }); Assert.AreEqual(str1, "?key2=value2"); str1 = _builder.GetQueryStringExcept(new[] { "key2" }); Assert.AreEqual(str1, "?key1=value1"); str1 = _builder.GetQueryStringExcept(new[] { "key1", "key2" }); Assert.AreEqual(str1, string.Empty); }
/** * public SGrid(IEnumerable<T> items, IQueryCollection query, int page, bool renderOnlyRows, * string pagerViewName = GridPager.DefaultPagerViewName) * : this(items, query) * { * Pager = new GridPager(query, page, pagerViewName); * RenderOptions.RenderRowsOnly = renderOnlyRows; * } */ public SGrid(IEnumerable <T> items, IQueryCollection query, bool renderOnlyRows, string pagerViewName = GridPager.DefaultPagerViewName) : this(items, query) { var urlParameters = CustomQueryStringBuilder.Convert(query); string pageParameter = urlParameters[((GridPager)Pager).ParameterName]; int page = 0; if (pageParameter != null) { int.TryParse(pageParameter, out page); } if (page == 0) { page++; } ((GridPager)_pager).CurrentPage = page; ((GridPager)_pager).TemplateName = pagerViewName; RenderOptions.RenderRowsOnly = renderOnlyRows; }
public void TestWithParameter() { QueryBuilder qb = new QueryBuilder(); qb.Add("key1", "value1"); qb.Add("key2", "value2"); qb.Add("key3", "value3"); var request = new DefaultHttpRequest(new DefaultHttpContext()); request.QueryString = qb.ToQueryString(); _builder = new CustomQueryStringBuilder(request.Query); var str1 = _builder.GetQueryStringWithParameter("key4", "value4"); Assert.AreEqual(str1, "?key1=value1&key2=value2&key3=value3&key4=value4"); str1 = _builder.GetQueryStringWithParameter("key4", "value4new"); Assert.AreEqual(str1, "?key1=value1&key2=value2&key3=value3&key4=value4new"); }
protected override void OnParametersSet() { _searchValue = Grid.Settings.SearchSettings.SearchValue; //determine current url: var queryBuilder = new CustomQueryStringBuilder(((QueryStringSearchSettings)Grid.Settings.SearchSettings).Query); var exceptQueryParameters = new List <string> { QueryStringFilterSettings.DefaultTypeQueryParameter, QueryStringFilterSettings.DefaultClearInitFilterQueryParameter }; string pagerParameterName = GetPagerQueryParameterName(Grid.Pager); if (!string.IsNullOrEmpty(pagerParameterName)) { exceptQueryParameters.Add(pagerParameterName); } _seachUrl = queryBuilder.GetQueryStringExcept(exceptQueryParameters); }
public GridPager(IQueryDictionary <StringValues> query) { _query = new QueryDictionary <StringValues>(); _currentPage = -1; _queryBuilder = new CustomQueryStringBuilder(_query); ParameterName = DefaultPageQueryParameter; MaxDisplayedPages = MaxDisplayedPages; PageSize = DefaultPageSize; _query = query; _queryBuilder = new CustomQueryStringBuilder(_query); string pageSizeParameter = query.Get(DefaultPageSizeQueryParameter); int pageSize = 0; if (pageSizeParameter != null) { int.TryParse(pageSizeParameter, out pageSize); } QueryPageSize = pageSize; }
public void TestExcept() { QueryBuilder qb = new QueryBuilder(); qb.Add("key1", "value1"); qb.Add("key2", "value2"); var request = new DefaultHttpRequest(new DefaultHttpContext()); request.QueryString = qb.ToQueryString(); _builder = new CustomQueryStringBuilder(request.Query); var str1 = _builder.GetQueryStringExcept(new[] { "key1" }); Assert.AreEqual(str1, "?key2=value2"); str1 = _builder.GetQueryStringExcept(new[] { "key2" }); Assert.AreEqual(str1, "?key1=value1"); str1 = _builder.GetQueryStringExcept(new[] { "key1", "key2" }); Assert.AreEqual(str1, string.Empty); }
protected override void OnParametersSet() { //determine current column filter settings _filterSettings = new List <ColumnFilterValue>(); if (FilterSettings.IsInitState(Column) && Column.InitialFilterSettings != ColumnFilterValue.Null) { _filterSettings.Add(Column.InitialFilterSettings); } else { _filterSettings.AddRange(FilterSettings.FilteredColumns.GetByColumn(Column)); } _isColumnFiltered = _filterSettings.Any(r => r.FilterType != GridFilterType.Condition); //determine current url: var queryBuilder = new CustomQueryStringBuilder(FilterSettings.Query); var exceptQueryParameters = new List <string> { QueryStringFilterSettings.DefaultTypeQueryParameter, QueryStringFilterSettings.DefaultClearInitFilterQueryParameter }; string pagerParameterName = GetPagerQueryParameterName(((ICGrid)(Column.ParentGrid)).Pager); if (!string.IsNullOrEmpty(pagerParameterName)) { exceptQueryParameters.Add(pagerParameterName); } _url = queryBuilder.GetQueryStringExcept(exceptQueryParameters); _clearInitFilter = FilterSettings.Query.Get(QueryStringFilterSettings.DefaultClearInitFilterQueryParameter); if (Column.Hidden) { _cssStyles = ((GridStyledColumn)Column).GetCssStylesString() + " " + ThStyle; } else { _cssStyles = ((GridStyledColumn)Column).GetCssStylesString(); } _cssClass = ((GridStyledColumn)Column).GetCssClassesString() + " " + ThClass; if (GridComponent.Grid.Direction == GridDirection.RTL) { _cssStyles = string.Concat(_cssStyles, " text-align:right;direction:rtl;").Trim(); } // tables with fixed layout don't need to set up column width on the header if (GridComponent.Grid.TableLayout == TableLayout.Auto) { if (!string.IsNullOrWhiteSpace(Column.Width)) { _cssStyles = string.Concat(_cssStyles, " width:", Column.Width, ";").Trim(); } } List <string> cssFilterClasses = new List <string>(); cssFilterClasses.Add(FilterButtonCss); if (_isColumnFiltered) { cssFilterClasses.Add(FilteredButtonCssClass); } _cssFilterClass = string.Join(" ", cssFilterClasses); List <string> cssSortingClass = new List <string>(); cssSortingClass.Add("grid-header-title"); if (Column.IsSorted) { cssSortingClass.Add("sorted"); cssSortingClass.Add(Column.Direction == GridSortDirection.Ascending ? "sorted-asc" : "sorted-desc"); } _cssSortingClass = string.Join(" ", cssSortingClass); if (Column.FilterEnabled) { FilterWidgetRender = CreateFilterWidgetComponent(); } if (!string.IsNullOrWhiteSpace(Column.Name)) { GridComponent.HeaderComponents.AddParameter(Column.Name, this); } }
public IHtmlContent Render(IGridColumn column) { if (!column.FilterEnabled) { return(new HtmlString(string.Empty)); } //determine current column filter settings var filterSettings = new List <ColumnFilterValue>(); if (_settings.IsInitState && column.InitialFilterSettings != ColumnFilterValue.Null) { filterSettings.Add(column.InitialFilterSettings); } else { filterSettings.AddRange(_settings.FilteredColumns.GetByColumn(column)); } bool isColumnFiltered = filterSettings.Any(); //determine current url: var builder = new CustomQueryStringBuilder(_settings.Context.Request.Query.ToNameValueCollection()); var exceptQueryParameters = new List <string> { QueryStringFilterSettings.DefaultTypeQueryParameter, QueryStringFilterSettings.DefaultFilterInitQueryParameter }; string pagerParameterName = GetPagerQueryParameterName(column.ParentGrid.Pager); if (!string.IsNullOrEmpty(pagerParameterName)) { exceptQueryParameters.Add(pagerParameterName); } string url = builder.GetQueryStringExcept(exceptQueryParameters); var gridFilterButton = new TagBuilder("span"); gridFilterButton.AddCssClass(FilterButtonCss); if (isColumnFiltered) { gridFilterButton.AddCssClass(FilteredButtonCssClass); } gridFilterButton.Attributes.Add("title", Strings.FilterButtonTooltipText); var gridFilter = new TagBuilder("div"); var dataKeyList = new Dictionary <string, string> { { "data-type", column.FilterWidgetTypeName }, { "data-name", column.Name }, { "data-widgetdata", JsonHelper.JsonSerializer(column.FilterWidgetData) }, { "data-filterdata", JsonHelper.JsonSerializer(filterSettings) }, { "data-url", url } }; gridFilter.InnerHtml.SetHtmlContent(gridFilterButton.ToString()); gridFilter.AddCssClass("grid-filter"); foreach (var data in dataKeyList) { if (!string.IsNullOrWhiteSpace(data.Value)) { gridFilter.Attributes.Add(data.Key, data.Value); } } return(new HtmlString(gridFilter.ToString())); }
public GridPager(IQueryDictionary <StringValues> query) : this() { _query = query; _queryBuilder = new CustomQueryStringBuilder(_query); }
protected override void OnParametersSet() { //determine current column filter settings _filterSettings = new List <ColumnFilterValue>(); if (FilterSettings.IsInitState(Column) && Column.InitialFilterSettings != ColumnFilterValue.Null) { _filterSettings.Add(Column.InitialFilterSettings); } else { _filterSettings.AddRange(FilterSettings.FilteredColumns.GetByColumn(Column)); } _isColumnFiltered = _filterSettings.Any(); //determine current url: var queryBuilder = new CustomQueryStringBuilder(FilterSettings.Query); var exceptQueryParameters = new List <string> { QueryStringFilterSettings.DefaultTypeQueryParameter, QueryStringFilterSettings.DefaultClearInitFilterQueryParameter }; string pagerParameterName = GetPagerQueryParameterName(((ICGrid <T>)(Column.ParentGrid)).Pager); if (!string.IsNullOrEmpty(pagerParameterName)) { exceptQueryParameters.Add(pagerParameterName); } _url = queryBuilder.GetQueryStringExcept(exceptQueryParameters); _clearInitFilter = FilterSettings.Query.Get(QueryStringFilterSettings.DefaultClearInitFilterQueryParameter); if (((GridColumnBase <T>)Column).Hidden) { _cssStyles = ((GridStyled)Column).GetCssStylesString() + " " + ThStyle; } else { _cssStyles = ((GridStyled)Column).GetCssStylesString(); } _cssClass = ((GridStyled)Column).GetCssClassesString() + " " + ThClass; if (!string.IsNullOrWhiteSpace(Column.Width)) { _cssStyles = string.Concat(_cssStyles, " width:", Column.Width, ";").Trim(); } ; List <string> cssFilterClasses = new List <string>(); cssFilterClasses.Add(FilterButtonCss); if (_isColumnFiltered) { cssFilterClasses.Add(FilteredButtonCssClass); } _cssFilterClass = string.Join(" ", cssFilterClasses); List <string> cssSortingClass = new List <string>(); cssSortingClass.Add("grid-header-title"); if (Column.IsSorted) { cssSortingClass.Add("sorted"); cssSortingClass.Add(Column.Direction == GridSortDirection.Ascending ? "sorted-asc" : "sorted-desc"); } _cssSortingClass = string.Join(" ", cssSortingClass); FilterWidgetRender = CreateFilterWidgetComponent(); }