コード例 #1
0
        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;
        }