Esempio n. 1
0
        public ActionResult PivotGridCustomPartial(string FieldID, string[] Values)
        {
            var settigns = GetPivotGridSettings();

            settigns.BeforePerformDataSelect = (s, e) => {
                var pivot = (MVCxPivotGrid)s;
                var field = pivot.Fields[FieldID];

                field.FilterValues.ValuesExcluded = CustomFilterItem.GetValuesExcluded(field, Values);
                Debug.WriteLine(string.Join("; ", Values));
            };
            ViewBag.PivotGridSettings = settigns;
            var model = new NwindDataClassesDataContext().Invoices;

            return(PartialView("_PivotGridPartial", model));
        }
Esempio n. 2
0
        private PivotGridSettings GetPivotGridSettings()
        {
            var settings = new PivotGridSettings();

            settings.Name = "PivotGrid";
            settings.CallbackRouteValues     = new { Controller = "Home", Action = "PivotGridPartial" };
            settings.CustomActionRouteValues = new { Controller = "Home", Action = "PivotGridCustomPartial" };

            settings.Fields.Add(field => {
                field.ID        = "fieldCountry";
                field.Area      = PivotArea.RowArea;
                field.FieldName = "Country";
                field.Caption   = "Country";
            });
            settings.Fields.Add(field => {
                field.ID            = "fieldOrderDate";
                field.Area          = PivotArea.ColumnArea;
                field.FieldName     = "OrderDate";
                field.Caption       = "OrderDate";
                field.GroupInterval = PivotGroupInterval.DateYear;
            });
            settings.Fields.Add(field => {
                field.ID        = "fieldProductName";
                field.Area      = PivotArea.FilterArea;
                field.FieldName = "ProductName";
                field.Caption   = "ProductName";
            });
            settings.Fields.Add(field => {
                field.ID        = "fieldExtendedPrice";
                field.Area      = PivotArea.DataArea;
                field.FieldName = "ExtendedPrice";
                field.Caption   = "ExtendedPrice";
            });

            settings.PreRender = settings.GridLayout = (s, e) => {
                var pivot = (MVCxPivotGrid)s;
                Session["pivotFilterValues"] = pivot.Fields.OfType <PivotGridField>().Where(f => f.Visible && f.Area != PivotArea.DataArea).ToDictionary(f => f.ID, f => CustomFilterItem.GetItems(f));
            };
            return(settings);
        }