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)); }
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); }