Exemplo n.º 1
0
        public static PivotGridSettings CreatePivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            CustomizePivotGridSettings(settings);
            return(settings);
        }
        public static ActionResult GetExportActionResult(PivotGridExportDemoOptions options, object data)
        {
            if (exportTypes == null)
            {
                exportTypes = CreateExportTypes();
            }

            PivotGridExportFormats format   = options.ExportType;
            PivotGridSettings      settings = GetPivotGridExportSettings(options.WYSIWYG);

            switch (format)
            {
            case PivotGridExportFormats.Excel:
                return(exportTypes[format].ExcelMethod(settings, data, new XlsxExportOptionsEx()
                {
                    ExportType = ExportType.WYSIWYG
                }));

            case PivotGridExportFormats.ExcelDataAware:
                XlsxExportOptionsEx exportOptions = new XlsxExportOptionsEx()
                {
                    ExportType = ExportType.DataAware
                };
                exportOptions.AllowFixedColumnHeaderPanel = exportOptions.AllowFixedColumns = options.DataAware.AllowFixedColumnAndRowArea ? DefaultBoolean.True : DefaultBoolean.False;
                exportOptions.AllowGrouping  = options.DataAware.AllowGrouping ? DefaultBoolean.True : DefaultBoolean.False;
                exportOptions.RawDataMode    = options.DataAware.ExportRawData;
                exportOptions.TextExportMode = options.DataAware.ExportDisplayText ? TextExportMode.Text : TextExportMode.Value;
                return(exportTypes[format].ExcelMethod(DataAwarePivotGridSettings, data, exportOptions));

            default:
                return(exportTypes[format].Method(settings, data));
            }
        }
 public static void HandleAfterPerformCallback(PivotGridSettings settings, string fieldID, int itemIndex)
 {
     settings.AfterPerformCallback = (s, e) =>
     {
         MVCxPivotGrid      pivot        = (MVCxPivotGrid)s;
         MVCxPivotGridField clickedField = (MVCxPivotGridField)pivot.Fields[fieldID];
         object             filterValue  = pivot.GetFieldValueByIndex(clickedField, itemIndex);
         clickedField.FilterValues.ValuesIncluded = new Object[] { filterValue };
     };
 }
        static PivotGridSettings CreatePivotGridSettingsBase()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "pivotGrid";
            settings.CallbackRouteValues = new { Controller = "Export", Action = "ExportPartial" };
            settings.Width = Unit.Percentage(100);
            settings.OptionsView.HorizontalScrollBarMode = ScrollBarMode.Auto;
            return(settings);
        }
        public static void PassAllowedFieldsToClientSide(PivotGridSettings settings)
        {
            StringBuilder stb = new StringBuilder();

            foreach (MVCxPivotGridField field in settings.Fields.OfType <MVCxPivotGridField>().Where(f => f.Area == PivotArea.DataArea))
            {
                stb.Append(field.ID);
                stb.Append("|");
            }
            settings.CustomJsProperties = (s, e) => { e.Properties.Add("cpAllowedFields", stb.ToString()); };
        }
Exemplo n.º 6
0
        public static PivotGridSettings GetPivotGridExportSettings(PivotGridExportDemoOptions options)
        {
            PivotGridSettings exportSettings = ExportPivotGridSettings;

            exportSettings.SettingsExport.OptionsPrint.PrintHeadersOnEveryPage = options.PrintHeadersOnEveryPage;
            exportSettings.SettingsExport.OptionsPrint.PrintFilterHeaders      = ConvertToDefaultBoolean(options.PrintFilterHeaders);
            exportSettings.SettingsExport.OptionsPrint.PrintColumnHeaders      = ConvertToDefaultBoolean(options.PrintColumnHeaders);
            exportSettings.SettingsExport.OptionsPrint.PrintRowHeaders         = ConvertToDefaultBoolean(options.PrintRowHeaders);
            exportSettings.SettingsExport.OptionsPrint.PrintDataHeaders        = ConvertToDefaultBoolean(options.PrintDataHeaders);
            return(exportSettings);
        }
Exemplo n.º 7
0
        public static PivotGridSettings CreateGeneralSettings()
        {
            var settings = new PivotGridSettings();

            settings.Name = "PivotGrid";
            settings.OptionsView.ShowHorizontalScrollBar = true;
            settings.Width = new System.Web.UI.WebControls.Unit(90, System.Web.UI.WebControls.UnitType.Percentage);
            settings.Fields.Add("Country", PivotArea.ColumnArea);
            settings.Fields.Add("City", PivotArea.FilterArea);

            settings.Fields.Add("ExtendedPrice", PivotArea.DataArea);
            settings.Fields.Add("Freight", PivotArea.FilterArea);
            settings.Fields.Add("Quantity", PivotArea.FilterArea);
            settings.Fields.Add(field => {
                field.Area             = PivotArea.RowArea;
                field.FieldName        = "OrderDate";
                field.GroupInterval    = PivotGroupInterval.DateYear;
                field.UnboundFieldName = "DateYear";
                field.Caption          = "Year";
            });
            settings.Fields.Add(field => {
                field.Area             = PivotArea.RowArea;
                field.FieldName        = "OrderDate";
                field.GroupInterval    = PivotGroupInterval.DateQuarter;
                field.UnboundFieldName = "DateQuarter";
                field.Caption          = "Quarter";
            });
            settings.Fields.Add(field => {
                field.Area             = PivotArea.RowArea;
                field.FieldName        = "OrderDate";
                field.GroupInterval    = PivotGroupInterval.DateMonth;
                field.UnboundFieldName = "DateMonth";
                field.Caption          = "Month";
                field.UseNativeFormat  = DefaultBoolean.False;
            });

            // Saves layout after change
            settings.GridLayout = (sender, e) => {
                MVCxPivotGrid PivotGrid = sender as MVCxPivotGrid;
                Session["Layout"] = PivotGrid.SaveLayoutToString(PivotGridWebOptionsLayout.DefaultLayout);
            };

            // Loads layout after change
            settings.PreRender = (sender, e) => {
                MVCxPivotGrid PivotGrid = sender as MVCxPivotGrid;
                string        layout    = Session["Layout"] as string;
                if (!string.IsNullOrEmpty(layout))
                {
                    PivotGrid.LoadLayoutFromString(layout, DevExpress.Web.ASPxPivotGrid.PivotGridWebOptionsLayout.DefaultLayout);
                }
            };
            return(settings);
        }
Exemplo n.º 8
0
        static PivotGridSettings CreateDrillDownPivotGridSettings()
        {
            PivotGridSettings settings = CreatePivotGridSettings("DrillDownPivotGridPartial");

            settings.Styles.CellStyle.Cursor       = "pointer";
            settings.OptionsView.ShowFilterHeaders = false;
            settings.ClientSideEvents.CellClick    = "OnPivotGridCellClick";

            settings.Fields["Year"].UnboundFieldName = "Year";
            settings.Fields["Product"].Area          = PivotArea.RowArea;
            return(settings);
        }
 public static void CustomizeContextMenu(PivotGridSettings settings)
 {
     settings.PopupMenuCreated = (s, e) =>
     {
         if (e.MenuType == DevExpress.Web.ASPxPivotGrid.PivotGridPopupMenuType.FieldValueMenu)
         {
             MenuItem item = e.Menu.Items.Add("Filter By This Value", "Filter");
             item.BeginGroup = true;
             e.Menu.ClientSideEvents.PopUp   = "function ASPxClientMenuItemEventHandler(s, e) { MenuItemPopUpHandle(s, e); }";
             e.Menu.ClientSideEvents.CloseUp = "function ASPxClientMenuItemEventHandler(s, e) { MenuItemCloseUpHandle(s, e); }";
         }
     };
 }
Exemplo n.º 10
0
    private static PivotGridSettings CreatePivotGridSettings()
    {
        PivotGridSettings settings = new PivotGridSettings();

        settings.Name = "pivotGrid";
        settings.CallbackRouteValues = new { Controller = "Home", Action = "PivotGridPartial" };
        settings.OptionsView.ShowHorizontalScrollBar = true;
        settings.Width = new System.Web.UI.WebControls.Unit(90, System.Web.UI.WebControls.UnitType.Percentage);
        settings.Fields.Add("[Measures].[Sales Amount]", PivotArea.DataArea);
        settings.Fields.Add("[Product].[Product Categories].[Category]", PivotArea.RowArea);
        settings.Fields.Add("[Date].[Calendar Year].[Calendar Year]", PivotArea.ColumnArea);

        return(settings);
    }
Exemplo n.º 11
0
 public static PivotGridSettings PivotChartIntegrationSettings(PivotGridChartIntegrationDemoOptions options)
 {
     if (pivotChartIntegrationSettings == null)
     {
         pivotChartIntegrationSettings = CreatePivotChartIntegrationSettings();
     }
     if (options != null)
     {
         pivotChartIntegrationSettings.OptionsChartDataSource.ProvideColumnGrandTotals = options.ShowColumnGrandTotals;
         pivotChartIntegrationSettings.OptionsChartDataSource.ProvideRowGrandTotals    = options.ShowRowGrandTotals;
         pivotChartIntegrationSettings.OptionsChartDataSource.ProvideDataByColumns     = options.GenerateSeriesFromColumns;
     }
     return(pivotChartIntegrationSettings);
 }
Exemplo n.º 12
0
        static PivotGridSettings CreatePivotChartIntegrationSettings()
        {
            PivotGridSettings pivotGridSettings = new PivotGridSettings();

            pivotGridSettings.Name = "pivotGrid";
            pivotGridSettings.CallbackRouteValues = new { Controller = "PivotGrid", Action = "ChartsIntegrationPivotPartial" };
            pivotGridSettings.OptionsChartDataSource.DataProvideMode = PivotChartDataProvideMode.UseCustomSettings;
            pivotGridSettings.OptionsView.ShowFilterHeaders          = false;
            pivotGridSettings.OptionsView.ShowHorizontalScrollBar    = true;
            pivotGridSettings.Width = Unit.Percentage(100);

            pivotGridSettings.Fields.Add(field => {
                field.FieldName = "Extended_Price";
                field.Caption   = "Extended Price";
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 0;
            });
            pivotGridSettings.Fields.Add(field => {
                field.FieldName = "CategoryName";
                field.Caption   = "Category Name";
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 0;
            });
            pivotGridSettings.Fields.Add(field => {
                field.FieldName        = "OrderDate";
                field.Caption          = "Order Month";
                field.Area             = PivotArea.ColumnArea;
                field.AreaIndex        = 0;
                field.UnboundFieldName = "fieldOrderDate";
                field.GroupInterval    = PivotGroupInterval.DateMonth;
            });
            pivotGridSettings.PreRender = (sender, e) => {
                int           selectNumber   = 4;
                var           field          = ((MVCxPivotGrid)sender).Fields["Category Name"];
                object[]      values         = field.GetUniqueValues();
                List <object> includedValues = new List <object>(values.Length / selectNumber);
                for (int i = 0; i < values.Length; i++)
                {
                    if (i % selectNumber == 0)
                    {
                        includedValues.Add(values[i]);
                    }
                }
                field.FilterValues.ValuesIncluded = includedValues.ToArray();
            };
            pivotGridSettings.ClientSideEvents.BeginCallback = "OnBeforePivotGridCallback";
            pivotGridSettings.ClientSideEvents.EndCallback   = "UpdateChart";

            return(pivotGridSettings);
        }
Exemplo n.º 13
0
        static PivotGridSettings CreatePivotGridSettings(string actionName)
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "pivotGrid";
            settings.CallbackRouteValues = new { Controller = "PivotGrid", Action = actionName };
            settings.Width = Unit.Percentage(100);
            settings.OptionsView.ShowHorizontalScrollBar = true;

            settings.Fields.Add(field => {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 0;
                field.Caption   = "Product";
                field.FieldName = "ProductName";
            });
            settings.Fields.Add(field => {
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 0;
                field.Caption   = "Customer";
                field.FieldName = "CompanyName";
            });
            settings.Fields.Add(field => {
                field.Area          = PivotArea.ColumnArea;
                field.AreaIndex     = 0;
                field.Caption       = "Year";
                field.FieldName     = "OrderDate";
                field.GroupInterval = PivotGroupInterval.DateYear;
            });
            settings.Fields.Add(field => {
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 0;
                field.Caption   = "Product Amount";
                field.FieldName = "ProductAmount";
                field.CellFormat.FormatString = "c";
                field.CellFormat.FormatType   = FormatType.Custom;
            });
            settings.Fields.Add(field => {
                field.Area          = PivotArea.FilterArea;
                field.AreaIndex     = 1;
                field.Caption       = "Quarter";
                field.FieldName     = "OrderDate";
                field.GroupInterval = PivotGroupInterval.DateQuarter;
            });

            return(settings);
        }
        private static PivotGridSettings CreatePivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "pivotGrid";
            settings.CallbackRouteValues = new { Controller = "Home", Action = "PivotGridPartial" };
            settings.OptionsView.HorizontalScrollBarMode = DevExpress.Web.ScrollBarMode.Auto;
            settings.OptionsData.AutoExpandGroups        = DevExpress.Utils.DefaultBoolean.False;
            settings.Width = new System.Web.UI.WebControls.Unit(100, System.Web.UI.WebControls.UnitType.Percentage);
            settings.Fields.Add("Country", PivotArea.ColumnArea);
            settings.Fields.Add("City", PivotArea.ColumnArea);
            settings.Fields.Add(field => {
                field.Area      = PivotArea.DataArea;
                field.FieldName = "ExtendedPrice";
            });
            settings.Fields.Add("ProductName", PivotArea.RowArea);

            return(settings);
        }
Exemplo n.º 15
0
        static PivotGridSettings CreatePivotGridSettings()
        {
            PivotGridSettings settings = CreatePivotGridSettingsBase();

            settings.Fields.Add(field => {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 0;
                field.Caption   = "Product";
                field.FieldName = "ProductName";
            });
            settings.Fields.Add(field => {
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 0;
                field.Caption   = "Customer";
                field.FieldName = "CompanyName";
            });
            settings.Fields.Add(field => {
                field.Area          = PivotArea.ColumnArea;
                field.AreaIndex     = 0;
                field.Caption       = "Year";
                field.FieldName     = "OrderDate";
                field.GroupInterval = PivotGroupInterval.DateYear;
            });
            settings.Fields.Add(field => {
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 0;
                field.Caption   = "Product Amount";
                field.FieldName = "ProductAmount";
                field.CellFormat.FormatString = "c";
                field.CellFormat.FormatType   = FormatType.Custom;
            });
            settings.Fields.Add(field => {
                field.Area          = PivotArea.FilterArea;
                field.AreaIndex     = 1;
                field.Caption       = "Quarter";
                field.FieldName     = "OrderDate";
                field.GroupInterval = PivotGroupInterval.DateQuarter;
            });

            return(settings);
        }
Exemplo n.º 16
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);
        }
Exemplo n.º 17
0
        public static void CustomizePivotGridSettings(PivotGridSettings settings)
        {
            settings.Name = "PivotGrid";
            settings.CallbackRouteValues = new { Controller = "Home", Action = "PivotGridPartial" };

            settings.OptionsChartDataSource.ProvideDataByColumns = false;
            settings.ClientSideEvents.EndCallback = "PivotEndCallback";

            settings.BeforeGetCallbackResult = (sender, e) => {
                MVCxPivotGrid pivot = (MVCxPivotGrid)sender;
                pivot.JSProperties["cpLayoutUpdated"] = false;
            };
            settings.GridLayout = (sender, e) => {
                MVCxPivotGrid pivot = (MVCxPivotGrid)sender;
                pivot.JSProperties["cpLayoutUpdated"] = true;
            };

            settings.Fields.Add(field =>
            {
                field.ID            = "fieldDate";
                field.Area          = PivotArea.ColumnArea;
                field.FieldName     = "Date";
                field.GroupInterval = PivotGroupInterval.Date;
                field.Caption       = "Date";
            });
            settings.Fields.Add(field =>
            {
                field.ID        = "fieldName";
                field.Area      = PivotArea.RowArea;
                field.FieldName = "Name";
                field.Caption   = "Name";
            });
            settings.Fields.Add(field =>
            {
                field.ID        = "fieldValue";
                field.Area      = PivotArea.DataArea;
                field.FieldName = "Value";
                field.Caption   = "Value";
            });
        }
Exemplo n.º 18
0
            public static PivotGridSettings CreatePivotGridSettings()
            {
                PivotGridSettings settings = new PivotGridSettings();

                settings.Name = "PivotGrid1";
                settings.CallbackRouteValues = new { Controller = "Home", Action = "PivotGrid1Partial" };

                settings.Fields.Add(field => {
                    field.Area      = PivotArea.RowArea;
                    field.FieldName = "SupplierID";
                    field.Caption   = "SupplierID";
                });
                settings.Fields.Add(field => {
                    field.Area      = PivotArea.ColumnArea;
                    field.FieldName = "CategoryID";
                    field.Caption   = "CategoryID";
                });
                settings.Fields.Add(field => {
                    field.Area      = PivotArea.DataArea;
                    field.FieldName = "UnitsInStock";
                    field.Caption   = "UnitsInStock";
                });
                return(settings);
            }
        public static PivotGridSettings CreatePivotGridSettingsM()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "BaoCaoTheoThang_" + DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss");
            settings.CallbackRouteValues = new {
                Controller    = "StockMovementSummary",
                Action        = "_PivotPartialViewM",
                FromMonth     = _FromMonth,
                FromYearMonth = _FromYearMonth,
                ToMonth       = _ToMonth,
                ToYearMonth   = _ToYearMonth,
                WarehouseId   = _WarehouseId
            };
            settings.Width = System.Web.UI.WebControls.Unit.Percentage(100);
            settings.Theme = "Metropolis";
            settings.OptionsView.ShowHorizontalScrollBar = true;
            settings.OptionsView.ShowColumnGrandTotals   = false;
            settings.OptionsView.ShowRowTotals           = false;
            settings.OptionsView.ShowRowGrandTotals      = false; // dòng tổng cuối
            settings.OptionsPager.RowsPerPage            = PageSize;
            // Xác định các field

            //Fillter
            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.FilterArea;
                filed.AreaIndex = 0;
                filed.FieldName = "ShortName";
                filed.Caption   = "Cửa hàng"; // Tên hiển thị fillter
            });

            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.FilterArea;
                filed.AreaIndex = 1;
                filed.FieldName = "WarehouseName";
                filed.Caption   = "Kho";
            });

            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.FilterArea;
                filed.AreaIndex = 2;
                filed.FieldName = "CategoryName";
                filed.Caption   = "Loại sản phẩm";
            });


            //Giá trị vùng dữ liệu
            settings.Fields.Add(filed =>
            {
                filed.Area                    = DevExpress.XtraPivotGrid.PivotArea.DataArea;
                filed.AreaIndex               = 0;
                filed.FieldName               = "BeginInventoryQty";
                filed.Caption                 = "Tồn đầu";
                filed.CellFormat.FormatType   = FormatType.Numeric;
                filed.CellFormat.FormatString = "{0:n0}";
            });
            settings.Fields.Add(filed =>
            {
                filed.Area                    = DevExpress.XtraPivotGrid.PivotArea.DataArea;
                filed.AreaIndex               = 1;
                filed.FieldName               = "ImportQty";
                filed.Caption                 = "Nhập";
                filed.CellFormat.FormatType   = FormatType.Numeric;
                filed.CellFormat.FormatString = "{0:n0}";
            });
            settings.Fields.Add(filed =>
            {
                filed.Area                    = DevExpress.XtraPivotGrid.PivotArea.DataArea;
                filed.AreaIndex               = 2;
                filed.FieldName               = "ExportQty";
                filed.Caption                 = "Xuất";
                filed.CellFormat.FormatType   = FormatType.Numeric;
                filed.CellFormat.FormatString = "{0:n0}";
            });
            settings.Fields.Add(filed =>
            {
                filed.Area                    = DevExpress.XtraPivotGrid.PivotArea.DataArea;
                filed.AreaIndex               = 3;
                filed.FieldName               = "EndInventoryQty";
                filed.Caption                 = "Tồn cuối";
                filed.CellFormat.FormatType   = FormatType.Numeric;
                filed.CellFormat.FormatString = "{0:n0}";
            });



            // Dòng dữ liệu
            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.RowArea;
                filed.AreaIndex = 0;
                filed.FieldName = "ProductName";
                filed.Caption   = "Sản phẩm";
            });

            //cột dữ liệu
            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.ColumnArea;
                filed.FieldName = "CreatedDateString";
                filed.AreaIndex = 0;
                filed.Caption   = "Tháng";
            });

            settings.PreRender = (sender, e) =>
            {
                MVCxPivotGrid PivotGrid = sender as MVCxPivotGrid;
                if (System.Web.HttpContext.Current.Session["LayoutM"] != null)
                {
                    PivotGrid.LoadLayoutFromString((string)System.Web.HttpContext.Current.Session["LayoutM"], PivotGridWebOptionsLayout.DefaultLayout);
                }
                PivotGrid.CollapseAll();
            };
            settings.GridLayout = (sender, e) =>
            {
                MVCxPivotGrid PivotGrid = sender as MVCxPivotGrid;
                System.Web.HttpContext.Current.Session["LayoutM"] = PivotGrid.SaveLayoutToString(PivotGridWebOptionsLayout.DefaultLayout);
            };
            return(settings);
        }
Exemplo n.º 20
0
        public static PivotGridSettings ModelPivotSettings()
        {
            PivotGridSettings pivotGridSettings = new PivotGridSettings();

            pivotGridSettings.Name = "pivotGrid";
            pivotGridSettings.CallbackRouteValues = new { Area = "NKD", Controller = "User", Action = "ModelPivotPartial" };
            pivotGridSettings.OptionsChartDataSource.DataProvideMode      = DevExpress.XtraPivotGrid.PivotChartDataProvideMode.UseCustomSettings;
            pivotGridSettings.OptionsChartDataSource.ProvideDataByColumns = true;
            pivotGridSettings.OptionsView.ShowFilterHeaders       = false;
            pivotGridSettings.OptionsView.ShowHorizontalScrollBar = true;
            pivotGridSettings.OptionsView.ShowHorizontalScrollBar = true;
            pivotGridSettings.Width = System.Web.UI.WebControls.Unit.Percentage(100);
            pivotGridSettings.CustomizationFieldsLeft = 600;
            pivotGridSettings.CustomizationFieldsTop  = 400;
            pivotGridSettings.OLAPDataProvider        = DevExpress.XtraPivotGrid.OLAPDataProvider.Adomd;
            pivotGridSettings.OptionsCustomization.CustomizationFormStyle = DevExpress.XtraPivotGrid.Customization.CustomizationFormStyle.Excel2007;


            pivotGridSettings.CustomCallback = (sender, e) =>
            {
                //DevExpress.Web.ASPxPivotGrid.PivotGridField field = ((MVCxPivotGrid)sender).Fields["[Product].[Product Categories].[Product]"];
                //if (field != null)
                //    ((MVCxPivotGrid)sender).Fields.Remove(field);
            };

            pivotGridSettings.PreRender = (sender, e) =>
            {
                MVCxPivotGrid pivot = ((MVCxPivotGrid)sender);
                pivot.RetrieveFields(DevExpress.XtraPivotGrid.PivotArea.FilterArea, false);
                //pivot.BeginUpdate();

                //pivot.Fields["[Product].[Product Categories].[Category]"].Area = PivotArea.RowArea;
                //pivot.Fields["[Product].[Product Categories].[Category]"].Visible = true;
                //pivot.Fields["[Date].[Calendar].[Calendar Year]"].Area = PivotArea.ColumnArea;
                //pivot.Fields["[Date].[Calendar].[Calendar Year]"].Visible = true;
                //pivot.Fields["[Date].[Calendar].[Calendar Year]"].ExpandedInFieldsGroup = false;
                //pivot.Fields["[Measures].[Sales Amount]"].Visible = true;

                //pivot.EndUpdate();
            };
            //pivotGridSettings.Fields.Add(field => {
            //    field.FieldName = "Extended_Price";
            //    field.Caption = "Extended Price";
            //    field.Area = PivotArea.DataArea;
            //    field.AreaIndex = 0;
            //});
            //pivotGridSettings.Fields.Add(field => {
            //    field.FieldName = "CategoryName";
            //    field.Caption = "Category Name";
            //    field.Area = PivotArea.RowArea;
            //    field.AreaIndex = 0;
            //});
            //pivotGridSettings.Fields.Add(field => {
            //    field.FieldName = "OrderDate";
            //    field.Caption = "Order Month";
            //    field.Area = PivotArea.ColumnArea;
            //    field.AreaIndex = 0;
            //    field.UnboundFieldName = "fieldOrderDate";
            //    field.GroupInterval = PivotGroupInterval.DateMonth;
            //});
            //pivotGridSettings.PreRender = (sender, e) => {
            //    int selectNumber = 4;
            //    var field = ((MVCxPivotGrid)sender).Fields["Category Name"];
            //    object[] values = field.GetUniqueValues();
            //    List<object> includedValues = new List<object>(values.Length / selectNumber);
            //    for (int i = 0; i < values.Length; i++) {
            //        if (i % selectNumber == 0)
            //            includedValues.Add(values[i]);
            //    }
            //    field.FilterValues.ValuesIncluded = includedValues.ToArray();
            //};
            pivotGridSettings.ClientSideEvents.BeginCallback = "OnBeforePivotGridCallback";
            pivotGridSettings.ClientSideEvents.EndCallback   = "UpdateChart";

            return(pivotGridSettings);
        }
Exemplo n.º 21
0
 public BusinessIntelligenceModel()
 {
     PivotGridExportOptions = new PivotGridExportOptionsModel();
     PivotGridSettings      = new PivotGridSettings();
 }
Exemplo n.º 22
0
        public static PivotGridSettings ModelPivotSettings() {
            PivotGridSettings pivotGridSettings = new PivotGridSettings();
            pivotGridSettings.Name = "pivotGrid";
            pivotGridSettings.CallbackRouteValues = new { Area = "XODB", Controller = "User", Action = "ModelPivotPartial" };
            pivotGridSettings.OptionsChartDataSource.DataProvideMode = DevExpress.XtraPivotGrid.PivotChartDataProvideMode.UseCustomSettings;
            pivotGridSettings.OptionsChartDataSource.ProvideDataByColumns = true;
            pivotGridSettings.OptionsView.ShowFilterHeaders = false;
            pivotGridSettings.OptionsView.ShowHorizontalScrollBar = true;
            pivotGridSettings.OptionsView.ShowHorizontalScrollBar = true;
            pivotGridSettings.Width = System.Web.UI.WebControls.Unit.Percentage(100);
            pivotGridSettings.CustomizationFieldsLeft = 600;
            pivotGridSettings.CustomizationFieldsTop = 400;
            pivotGridSettings.OLAPDataProvider = DevExpress.XtraPivotGrid.OLAPDataProvider.Adomd;
            pivotGridSettings.OptionsCustomization.CustomizationFormStyle = DevExpress.XtraPivotGrid.Customization.CustomizationFormStyle.Excel2007;


            pivotGridSettings.CustomCallback = (sender, e) =>
            {
                //DevExpress.Web.ASPxPivotGrid.PivotGridField field = ((MVCxPivotGrid)sender).Fields["[Product].[Product Categories].[Product]"];
                //if (field != null)
                //    ((MVCxPivotGrid)sender).Fields.Remove(field);
            };

             pivotGridSettings.PreRender = (sender, e) =>
             {
                 MVCxPivotGrid pivot = ((MVCxPivotGrid)sender);
                 pivot.RetrieveFields( DevExpress.XtraPivotGrid.PivotArea.FilterArea, false);
                 //pivot.BeginUpdate();

                 //pivot.Fields["[Product].[Product Categories].[Category]"].Area = PivotArea.RowArea;
                 //pivot.Fields["[Product].[Product Categories].[Category]"].Visible = true;
                 //pivot.Fields["[Date].[Calendar].[Calendar Year]"].Area = PivotArea.ColumnArea;
                 //pivot.Fields["[Date].[Calendar].[Calendar Year]"].Visible = true;
                 //pivot.Fields["[Date].[Calendar].[Calendar Year]"].ExpandedInFieldsGroup = false;
                 //pivot.Fields["[Measures].[Sales Amount]"].Visible = true;

                 //pivot.EndUpdate();
             };
            //pivotGridSettings.Fields.Add(field => {
            //    field.FieldName = "Extended_Price";
            //    field.Caption = "Extended Price";
            //    field.Area = PivotArea.DataArea;
            //    field.AreaIndex = 0;
            //});
            //pivotGridSettings.Fields.Add(field => {
            //    field.FieldName = "CategoryName";
            //    field.Caption = "Category Name";
            //    field.Area = PivotArea.RowArea;
            //    field.AreaIndex = 0;
            //});
            //pivotGridSettings.Fields.Add(field => {
            //    field.FieldName = "OrderDate";
            //    field.Caption = "Order Month";
            //    field.Area = PivotArea.ColumnArea;
            //    field.AreaIndex = 0;
            //    field.UnboundFieldName = "fieldOrderDate";
            //    field.GroupInterval = PivotGroupInterval.DateMonth;
            //});
            //pivotGridSettings.PreRender = (sender, e) => {
            //    int selectNumber = 4;
            //    var field = ((MVCxPivotGrid)sender).Fields["Category Name"];
            //    object[] values = field.GetUniqueValues();
            //    List<object> includedValues = new List<object>(values.Length / selectNumber);
            //    for (int i = 0; i < values.Length; i++) {
            //        if (i % selectNumber == 0)
            //            includedValues.Add(values[i]);
            //    }
            //    field.FilterValues.ValuesIncluded = includedValues.ToArray();
            //};
            pivotGridSettings.ClientSideEvents.BeginCallback = "OnBeforePivotGridCallback";
            pivotGridSettings.ClientSideEvents.EndCallback = "UpdateChart";

            return pivotGridSettings;
        }
Exemplo n.º 23
0
        static PivotGridSettings GetPivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "pivotGrid";
            settings.CallbackRouteValues = new { Controller = "Home", Action = "PivotGridPartial" };
            settings.OptionsView.HorizontalScrollBarMode         = DevExpress.Web.ScrollBarMode.Auto;
            settings.OptionsChartDataSource.ProvideDataByColumns = false;
            settings.Width = new System.Web.UI.WebControls.Unit(90, System.Web.UI.WebControls.UnitType.Percentage);

            settings.Groups.Add("Order Date");
            settings.Fields.Add("Country", PivotArea.FilterArea);
            settings.Fields.Add("City", PivotArea.FilterArea);
            settings.Fields.Add(field =>
            {
                field.Area          = PivotArea.ColumnArea;
                field.FieldName     = "OrderDate";
                field.GroupInterval = PivotGroupInterval.DateYear;
                field.Caption       = "Year";
                field.GroupIndex    = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area            = PivotArea.ColumnArea;
                field.FieldName       = "OrderDate";
                field.GroupInterval   = PivotGroupInterval.DateMonth;
                field.Caption         = "Month";
                field.GroupIndex      = 0;
                field.InnerGroupIndex = 1;
            });

            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.FieldName = "Quantity";
                field.Visible   = false;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.FieldName = "UnitPrice";
                field.Visible   = false;
            });
            settings.Fields.Add(field =>
            {
                field.Area              = PivotArea.DataArea;
                field.FieldName         = "Amount";
                field.UnboundType       = DevExpress.Data.UnboundColumnType.Decimal;
                field.UnboundExpression = "[UnitPrice]*[Quantity]";
                field.Visible           = true;
            });
            settings.Fields.Add("ProductName", PivotArea.RowArea);
            settings.PreRender = (sender, e) =>
            {
                ((MVCxPivotGrid)sender).CollapseAll();
                var      field  = ((MVCxPivotGrid)sender).Fields["ProductName"];
                object[] values = field.GetUniqueValues();
                field.FilterValues.ValuesIncluded = values.Where(name => name.ToString().StartsWith("N")).ToArray();
            };
            settings.ClientSideEvents.BeginCallback = "OnBeforePivotGridCallback";
            settings.ClientSideEvents.EndCallback   = "UpdateChart";

            return(settings);
        }
Exemplo n.º 24
0
        private static PivotGridSettings CreatePivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings
            {
                Name = "pivotGrid",
                CallbackRouteValues = new { Controller = "Report", Action = "PivotGridPartial" },
                Width = new System.Web.UI.WebControls.Unit(99, System.Web.UI.WebControls.UnitType.Percentage)
            };

            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.FieldName = "ItemType";
                field.Caption   = IWSLocalResource.ItemType;
                field.AreaIndex = 1;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.FieldName = "Owner";
                field.Caption   = IWSLocalResource.Owner;
                field.AreaIndex = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area          = PivotArea.ColumnArea;
                field.FieldName     = "TransDate";
                field.Caption       = IWSLocalResource.Year;
                field.GroupInterval = PivotGroupInterval.DateYear;
                field.AreaIndex     = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area          = PivotArea.FilterArea;
                field.FieldName     = "TransDate";
                field.Caption       = IWSLocalResource.Quarter;
                field.GroupInterval = PivotGroupInterval.DateQuarter;
                field.AreaIndex     = 1;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.FieldName = "AccountName";
                field.Caption   = IWSLocalResource.account;
                field.AreaIndex = 2;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.FieldName = "Amount";
                field.Caption   = IWSLocalResource.amount;
                field.AreaIndex = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.FieldName = "Currency";
                field.Caption   = IWSLocalResource.Currency;
                field.AreaIndex = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.FieldName = "Side";
                field.Caption   = IWSLocalResource.side;
                field.AreaIndex = 1;
            });
            return(settings);
        }
Exemplo n.º 25
0
        static PivotGridSettings CreatePivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "PivotGrid";
            settings.CallbackRouteValues = new { Controller = "Cubo", Action = "PivotGridPartial" };
            //settings.CustomActionRouteValues = new { Controller = "Home", Action = "PivotGridCustomCallback" };
            settings.Width = System.Web.UI.WebControls.Unit.Percentage(100);
            settings.OptionsChartDataSource.ProvideDataByColumns = false;
            settings.CustomizationFieldsLeft             = 600;
            settings.CustomizationFieldsTop              = 400;
            settings.OptionsView.HorizontalScrollBarMode = ScrollBarMode.Auto;
            settings.OptionsView.VerticalScrollingMode   = PivotScrollingMode.Virtual;
            settings.OptionsView.HorizontalScrollingMode = PivotScrollingMode.Virtual;
            settings.OptionsView.VerticalScrollBarMode   = ScrollBarMode.Auto;

            settings.OptionsPager.RowsPerPage          = 25;
            settings.OptionsPager.ColumnsPerPage       = 15;
            settings.OptionsPager.Visible              = false;
            settings.OptionsFilter.NativeCheckBoxes    = false;
            settings.OptionsView.ShowColumnGrandTotals = true;

            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 0;
                field.Caption   = "Cliente";
                field.FieldName = "[Clientes].[Cliente].[Cliente]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 1;
                field.Caption   = "Provincia";
                field.FieldName = "[Provincia].[Provincia].[Provincia]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 2;
                field.Caption   = "Producto";
                field.FieldName = "[Producto].[Producto].[Producto]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 3;
                field.Caption   = "Unid Fact";
                field.FieldName = "[Unidad de Facturacion].[Unid Fac].[Unid Fac]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 4;
                field.Caption   = "Categoría";
                field.FieldName = "[Categorías de Cliente].[Categoría].[Categoría]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 5;
                field.Caption   = "Pais";
                field.FieldName = "[País].[Pais].[Pais]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 6;
                field.Caption   = "Proceso";
                field.FieldName = "[Proceso].[Proceso].[Proceso]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.FilterArea;
                field.AreaIndex = 7;
                field.Caption   = "Rubro";
                field.FieldName = "[Rubro].[Rubro].[Rubro]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.ColumnArea;
                field.AreaIndex = 0;
                field.Caption   = "Unidad de Produccion";
                field.FieldName = "[Unidad de Produccion].[Unid Prod].[Unid Prod]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 0;
                field.Caption   = "Año";
                field.FieldName = "[Fecha].[Jerarquía].[Año]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 1;
                field.Caption   = "Mes";
                field.FieldName = "[Fecha].[Jerarquía].[Mes]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 2;
                field.Caption   = "Dia";
                field.FieldName = "[Fecha].[Jerarquía].[Dia]";
                field.SortMode  = PivotSortMode.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 0;
                field.Caption   = "Importe";
                field.FieldName = "[Measures].[Importe Tot Pesos]";
                field.CellFormat.FormatString = "$#.##";
                field.CellFormat.FormatType   = FormatType.Custom;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 1;
                field.Caption   = "Precio Unit";
                field.FieldName = "[Measures].[Precio Unit Pesos]";
                field.CellFormat.FormatString = "${0:f2}";
                field.CellFormat.FormatType   = FormatType.Custom;
                field.Visible = false;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 2;
                field.Caption   = "Vol Equivalente";
                field.FieldName = "[Measures].[Vol Equivalente]";
                field.CellFormat.FormatString = "{0:f2}";
                field.CellFormat.FormatType   = FormatType.Custom;
                field.Visible = false;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 3;
                field.Caption   = "Unid Fisicas";
                field.FieldName = "[Measures].[Unidades Fisicas]";
                field.CellFormat.FormatString = "{0:f2}";
                field.CellFormat.FormatType   = FormatType.Custom;
                field.Visible = false;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.AreaIndex = 4;
                field.Caption   = "Precio Unit Promedio";
                field.FieldName = "[Measures].[Precio Unitario Promedio]";
                field.CellFormat.FormatString = "{0:f2}";
                field.CellFormat.FormatType   = FormatType.Custom;
                field.Visible = false;
            });
            //settings.Name = "pivotGrid";
            //settings.CallbackRouteValues = new { Controller = "Home", Action = "PivotGridPartial" };
            //settings.CustomActionRouteValues = new { Controller = "Home", Action = "PivotGridCustomCallback" };
            //settings.OptionsView.HorizontalScrollBarMode = DevExpress.Web.ScrollBarMode.Auto;
            //settings.OptionsChartDataSource.ProvideDataByColumns = false;
            //settings.Width = new System.Web.UI.WebControls.Unit(90, System.Web.UI.WebControls.UnitType.Percentage);

            //settings.ClientSideEvents.BeginCallback = "OnBeforePivotGridCallback";
            //settings.ClientSideEvents.EndCallback = "UpdateChart";


            //settings.Groups.Add("Order Date");
            //settings.Fields.Add("Country", PivotArea.FilterArea);
            //settings.Fields.Add("City", PivotArea.FilterArea);
            //settings.Fields.Add(field =>
            //{
            //    field.Area = PivotArea.ColumnArea;
            //    field.FieldName = "OrderDate";
            //    field.GroupInterval = PivotGroupInterval.DateYear;
            //    field.Caption = "Year";
            //    field.GroupIndex = 0;
            //});
            //settings.Fields.Add(field =>
            //{
            //    field.Area = PivotArea.ColumnArea;
            //    field.FieldName = "OrderDate";
            //    field.GroupInterval = PivotGroupInterval.DateMonth;
            //    field.Caption = "Month";
            //    field.GroupIndex = 0;
            //    field.InnerGroupIndex = 1;
            //});

            //settings.Fields.Add(field =>
            //{
            //    field.Area = PivotArea.DataArea;
            //    field.FieldName = "Quantity";
            //    field.Visible = false;
            //});
            //settings.Fields.Add(field =>
            //{
            //    field.Area = PivotArea.DataArea;
            //    field.FieldName = "UnitPrice";
            //    field.Visible = false;
            //});
            //settings.Fields.Add(field =>
            //{
            //    field.Area = PivotArea.DataArea;
            //    field.FieldName = "Amount";
            //    field.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
            //    field.UnboundExpression = "[UnitPrice]*[Quantity]";
            //    field.Visible = true;
            //});
            //settings.Fields.Add("ProductName", PivotArea.RowArea);
            //settings.PreRender = (sender, e) =>
            //{
            //    ((MVCxPivotGrid)sender).CollapseAll();
            //    var field = ((MVCxPivotGrid)sender).Fields["ProductName"];
            //    object[] values = field.GetUniqueValues();
            //    field.FilterValues.ValuesIncluded = values.Where(name => name.ToString().StartsWith("N")).ToArray();

            //};

            //settings.CustomFieldValueCells = ()

            settings.ClientSideEvents.EndCallback = "UpdateChart";
            return(settings);
        }
Exemplo n.º 26
0
        static PivotGridSettings CreateCompactLayoutPivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "pivotGrid";
            settings.CallbackRouteValues                   = new { Controller = "PivotGrid", Action = "CompactLayoutPartial" };
            settings.OptionsPager.NumericButtonCount       = 7;
            settings.OptionsPager.RowsPerPage              = 15;
            settings.OptionsView.ShowHorizontalScrollBar   = true;
            settings.OptionsView.RowTotalsLocation         = PivotRowTotalsLocation.Tree;
            settings.OptionsView.ShowTotalsForSingleValues = true;
            settings.OptionsView.ShowColumnHeaders         = false;
            settings.OptionsView.ShowDataHeaders           = false;
            settings.OptionsView.ShowFilterHeaders         = false;
            settings.OptionsView.ShowRowHeaders            = false;
            settings.Width = Unit.Pixel(400);


            settings.PivotCustomizationExtensionSettings.Name           = "pivotCustomization";
            settings.PivotCustomizationExtensionSettings.AllowedLayouts = CustomizationFormAllowedLayouts.BottomPanelOnly1by4 | CustomizationFormAllowedLayouts.BottomPanelOnly2by2 |
                                                                          CustomizationFormAllowedLayouts.StackedDefault | CustomizationFormAllowedLayouts.StackedSideBySide;
            settings.PivotCustomizationExtensionSettings.Layout      = CustomizationFormLayout.BottomPanelOnly2by2;
            settings.PivotCustomizationExtensionSettings.AllowSort   = true;
            settings.PivotCustomizationExtensionSettings.AllowFilter = true;
            settings.PivotCustomizationExtensionSettings.Height      = Unit.Pixel(480);
            settings.PivotCustomizationExtensionSettings.Width       = Unit.Pixel(400);

            settings.Fields.Add(field => {
                field.FieldName = "Country";
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 0;
            });
            settings.Fields.Add(field => {
                field.Caption   = "Category Name";
                field.FieldName = "CategoryName";
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 1;
            });
            settings.Fields.Add(field => {
                field.Caption   = "Product Name";
                field.FieldName = "ProductName";
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 2;
            });
            settings.Fields.Add(field => {
                field.Caption   = "Customer";
                field.FieldName = "Sales_Person";
                field.Area      = PivotArea.RowArea;
                field.AreaIndex = 3;
            });
            settings.Fields.Add(field => {
                field.Caption       = "Order Year";
                field.FieldName     = "OrderDate";
                field.Area          = PivotArea.RowArea;
                field.AreaIndex     = 4;
                field.GroupInterval = PivotGroupInterval.DateYear;
            });
            settings.Fields.Add(field => {
                field.Caption                  = "Order Quarter";
                field.FieldName                = "OrderDate";
                field.Area                     = PivotArea.RowArea;
                field.AreaIndex                = 5;
                field.GroupInterval            = PivotGroupInterval.DateQuarter;
                field.ValueFormat.FormatString = "Qtr {0}";
                field.ValueFormat.FormatType   = FormatType.Numeric;
            });
            settings.Fields.Add("Quantity", PivotArea.DataArea);
            settings.Fields.Add("UnitPrice", PivotArea.FilterArea);

            settings.PreRender = (sender, e) => {
                MVCxPivotGrid pivotGrid = (MVCxPivotGrid)sender;
                pivotGrid.CollapseAll();
                pivotGrid.ExpandValue(false, new object[] { "UK" });
                pivotGrid.ExpandValue(false, new object[] { "UK", "Condiments" });
                pivotGrid.ExpandValue(false, new object[] { "UK", "Condiments", "Chef Anton's Cajun Seasoning" });
                pivotGrid.ExpandValue(false, new object[] { "UK", "Condiments", "Chef Anton's Cajun Seasoning", "Robert King" });
                pivotGrid.ExpandValue(false, new object[] { "UK", "Condiments", "Chef Anton's Cajun Seasoning", "Robert King", 1996 });
                pivotGrid.ExpandValue(false, new object[] { "UK", "Condiments", "Chef Anton's Cajun Seasoning", "Robert King", 1997 });
                pivotGrid.ExpandValue(false, new object[] { "UK", "Condiments", "Genen Shouyu" });
                pivotGrid.ExpandValue(false, new object[] { "UK", "Condiments", "Genen Shouyu", "Michael Suyama" });
            };
            return(settings);
        }
Exemplo n.º 27
0
        public PivotGridSettings CreateSetting( string statid, int id)
        {
            var settings = new PivotGridSettings{
                Name = "pivotGrid",CallbackRouteValues = new {
                                       Controller = "Reports", Action = "GetPivotLogsByCategory",
                                       categoryid = id,statcategoryid = statid
                                   },
                                   Width = Unit.Percentage(99)
                               };
            settings.OptionsView.ShowHorizontalScrollBar = true;
            settings.OptionsView.HideAllTotals();
            settings.OptionsPager.Position = PagerPosition.Bottom;
            settings.OptionsView.ShowFilterHeaders = false;
               // settings.OptionsPager.RowsPerPage = 15;
               // settings.OptionsView.ShowRowHeaders = true;

            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.RowArea;
                field.AreaIndex = 0;
                field.FieldName = "CategoryName";
                field.Caption = "类别";
                field.ValueStyle.VerticalAlign = VerticalAlign.Middle;
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.RowArea;
                field.AreaIndex = 1;
                field.FieldName = "ItemNo";
                field.Caption = "序号";
              //  field.UnboundType = UnboundColumnType.Integer;
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.RowArea;
                field.AreaIndex = 2;
                field.FieldName = "ErpCode";
                field.Caption = "Erp编码";
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.RowArea;
                field.AreaIndex = 3;
                field.FieldName = "Name";
                field.Caption = "项目名称";
            });
            if (statid.StartsWith("2"))
            {
                settings.Fields.Add(field =>
                {
                    field.Area = PivotArea.RowArea;
                    field.AreaIndex = 4;
                    field.FieldName = "PlanYear";
                    field.Caption = "实施年度";
                });
                settings.Fields.Add(field =>
                {
                    field.Area = PivotArea.RowArea;
                    field.AreaIndex = 5;
                    field.FieldName = "Xjsgs";
                    field.Caption = "项建书估算(万元)";
                });
                settings.Fields.Add(field =>
                {
                    field.Area = PivotArea.RowArea;
                    field.AreaIndex = 6;
                    field.FieldName = "Kygs";
                    field.Caption = "可研估算(万元)";
                });
            }
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.ColumnArea;
                field.AreaIndex = 0;
                field.FieldName = "StageName";
                field.Caption = "阶段";
            });
            if (id != 0)
            {
                settings.Fields.Add(field =>
                {
                    field.Area = PivotArea.ColumnArea;
                    field.AreaIndex = 1;
                    field.FieldName = "NodeName";
                    field.Caption = "管控节点";
                });
            }
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.DataArea;
                field.AreaIndex = 0;
                field.FieldName = "PlanStartDate";
                field.SummaryType = PivotSummaryType.Min;
                field.Caption = "计划开始";
                field.CellFormat.FormatType = FormatType.Custom;
                field.CellFormat.FormatString = ("yyyy.MM.dd");
                field.ExportBestFit = true;
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.DataArea;
                field.AreaIndex = 1;
                field.FieldName = "PlanEndDate";
                field.SummaryType = PivotSummaryType.Max;
                field.Caption = "计划完成";
                field.CellFormat.FormatType = FormatType.Custom;
                field.CellFormat.FormatString = ("yyyy.MM.dd");
                field.ExportBestFit = true;
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.DataArea;
                field.AreaIndex = 2;
                field.FieldName = "DateBeginOn";
                field.SummaryType = PivotSummaryType.Min;
                field.Caption = "实际开始";
                field.CellFormat.FormatType = FormatType.Custom;
                field.CellFormat.FormatString = ("yyyy.MM.dd");
                field.EmptyCellText = "----------";
                field.ExportBestFit = true;
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.DataArea;
                field.AreaIndex = 3;
                field.FieldName = "DateEndOn";
                field.SummaryType = PivotSummaryType.Max;
                field.Caption = "实际完成";
                field.CellFormat.FormatType = FormatType.Custom;
                field.CellFormat.FormatString = ("yyyy.MM.dd");
                field.EmptyCellText = "----------";
                field.ExportBestFit = true;
            });
            // settings.OptionsView.ShowColumnHeaders = false;
            // Event: Custom  DisplayText
             settings.FieldValueDisplayText = (sender, e) =>
             {
                 if (e.Value == null) return;
                 if (e.IsColumn)
                 {
                     if (e.Field.ID == "fieldStageName") e.DisplayText = e.Value.ToString().Substring(1);
                     if (e.Field.ID == "fieldNodeName" && e.Value.ToString().Substring(1, 1) == ".") e.DisplayText = e.Value.ToString().Substring(3);
                 }
             };
            settings.SettingsExport.OptionsPrint.PrintColumnHeaders = DefaultBoolean.False;
            settings.SettingsExport.OptionsPrint.PrintDataHeaders = DefaultBoolean.False;
            settings.SettingsExport.OptionsPrint.PrintRowHeaders = DefaultBoolean.True;
            settings.SettingsExport.OptionsPrint.PrintHeadersOnEveryPage = true;
            return settings;
        }
Exemplo n.º 28
0
        static PivotGridSettings GetSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "PivotGrid";
            settings.CallbackRouteValues = new { Controller = "Report", Action = "_PivotAccountsGridPartial" };
            settings.OptionsView.HorizontalScrollBarMode = DevExpress.Web.ScrollBarMode.Visible;
            settings.Width = new System.Web.UI.WebControls.Unit(90, System.Web.UI.WebControls.UnitType.Percentage);

            settings.SettingsExport.OptionsPrint.PrintColumnAreaOnEveryPage = true;
            settings.SettingsExport.OptionsPrint.PrintRowAreaOnEveryPage    = true;
            settings.SettingsExport.OptionsPrint.PageSettings.Landscape     = true;

            settings.SettingsExport.CustomExportCell = (sender, e) =>
            {
                // Determine whether the cell is Grand Total.
                if ((e.ColumnField == null) || (e.RowField == null))
                {
                    // Specify the text to display in a cell.
                    ((DevExpress.XtraPrinting.TextBrick)e.Brick).Text = string.Format(
                        "=> {0}",
                        ((DevExpress.XtraPrinting.TextBrick)e.Brick).Text);
                    // Specify the colors used to paint the cell.
                    e.Appearance.BackColor = Color.Gray;
                    e.Appearance.ForeColor = Color.Orange;
                    return;
                }

                MVCxPivotGrid pivot                = ((MVCxPivotGridExporter)sender).PivotGrid as MVCxPivotGrid;
                int           lastRowFieldIndex    = pivot.Fields.GetVisibleFieldCount(PivotArea.RowArea) - 1;
                int           lastColumnFieldIndex = pivot.Fields.GetVisibleFieldCount(PivotArea.ColumnArea) - 1;

                // Determine whether the cell is an ordinary cell.
                if (e.RowField.AreaIndex == lastRowFieldIndex && e.ColumnField.AreaIndex == lastColumnFieldIndex)
                {
                    e.Appearance.ForeColor = Color.Gray;
                }
                // The cell is a Total cell.
                else
                {
                    e.Appearance.BackColor = Color.DarkOliveGreen;
                    e.Appearance.ForeColor = Color.White;
                }
            };

            settings.SettingsExport.CustomExportFieldValue = (sender, e) =>
            {
                if (e.Field != null)
                {
                    if (e.Field.FieldName == "ProductName")
                    {
                        e.Brick.Url = String.Format("https://www.google.com/search?q={0}", e.Text);
                        ((DevExpress.XtraPrinting.TextBrick)e.Brick).Target = "_blank";
                    }
                    if (e.Field.FieldName == "Country" && e.Text == "USA")
                    {
                        DevExpress.XtraPrinting.ImageBrick imBrick = new DevExpress.XtraPrinting.ImageBrick();
                        imBrick.Image    = Image.FromFile(HttpContext.Current.Server.MapPath("~/Content/us.png"));
                        imBrick.SizeMode = DevExpress.XtraPrinting.ImageSizeMode.AutoSize;
                        e.Brick          = imBrick;
                    }
                }
            };

            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.FieldName = "CategoryName";
                field.Caption   = "Category";
                field.AreaIndex = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.ColumnArea;
                field.FieldName = "Country";
                field.Caption   = "Country";
                field.AreaIndex = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.DataArea;
                field.FieldName = "Extended Price";
                field.Caption   = "Extended_Price";
                field.AreaIndex = 0;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.RowArea;
                field.FieldName = "ProductName";
                field.Caption   = "Product Name";
                field.AreaIndex = 1;
            });
            settings.Fields.Add(field =>
            {
                field.Area      = PivotArea.ColumnArea;
                field.FieldName = "Sales Person";
                field.Caption   = "Sales Person";
                field.AreaIndex = 1;
            });

            return(settings);
        }
        public PivotGridSettings CreatePivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "journalPivotGrid";
            settings.CallbackRouteValues = new { Controller = "Information", Action = "MarksPagePartial" };
            //settings.CustomActionRouteValues = new { Controller = "Journal", Action = "CustomActionSampleReportsPartial" };
            settings.Width = Unit.Percentage(100);
            settings.OptionsView.ShowHorizontalScrollBar = true;

            settings.CustomGroupInterval += OnCustomGroupInterval;
            settings.CustomUnboundFieldData += OnCustomUnboundFieldData;
            settings.CustomCellValue += OnCustomCellValue;
            settings.ClientSideEvents.BeginCallback = "OnJournalGridBeginCallback";
            settings.Styles.CellStyle.Cursor = "pointer";
            settings.OptionsPager.RowsPerPage = 50;

            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.RowArea;
                field.AreaIndex = 0;
                field.UnboundExpression = "Concat([Pupil.UserDetails.LastName], ' ', [Pupil.UserDetails.FirstName], ' ', [Pupil.UserDetails.PatronymicName])";
                field.UnboundType = UnboundColumnType.String;
                field.Caption = "Имя ученика";
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.RowArea;
                field.AreaIndex = 1;
                field.FieldName = "ConcreteLesson.JournalLesson.SubjectID";
                field.Caption = "Предмет";
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.ColumnArea;
                field.AreaIndex = 0;
                field.FieldName = "ConcreteLesson.Date";
                field.Caption = "Четверть";
                field.GroupInterval = PivotGroupInterval.Custom;
                field.SummaryType = PivotSummaryType.Average;
                field.GrandTotalText = "Среднее";
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.ColumnArea;
                field.AreaIndex = 1;
                field.FieldName = "ConcreteLesson.Date";
                field.Caption = "Месяц";
                field.GroupInterval = PivotGroupInterval.DateMonth;
                field.TotalsVisibility = PivotTotalsVisibility.None;
            });
            settings.Fields.Add(field =>
            {
                field.Area = PivotArea.ColumnArea;
                field.AreaIndex = 2;
                field.FieldName = "ConcreteLesson.Date";
                field.Caption = "Дата";
                field.GroupInterval = PivotGroupInterval.Date;
                field.ValueFormat.FormatType = FormatType.DateTime;
                field.ValueFormat.FormatString = "dd";
            });
            settings.Fields.Add(field =>
            {
                field.Visible = true;
                field.Area = PivotArea.DataArea;
                field.AreaIndex = 0;
                field.Caption = "Оценка";
                field.UnboundType = UnboundColumnType.Object;
                field.EmptyCellText = string.Empty;
                field.EmptyValueText = string.Empty;
                field.FieldName = "Mark1";
                field.SummaryType = PivotSummaryType.Average;
                //field.UnboundExpression
                //field.UnboundType = UnboundColumnType.String;
                field.CellFormat.FormatString = "{0:0.##}";
                field.CellFormat.FormatType = FormatType.Numeric;

            });

            //settings.PreRender = (sender, e) => {
            //    UpdatePivotGridLayout((MVCxPivotGrid)sender);
            //};
            //settings.BeforeGetCallbackResult = (sender, e) => {
            //    if (ViewBag.IsReloadLayout != null && ViewBag.IsReloadLayout)
            //        UpdatePivotGridLayout((MVCxPivotGrid)sender);
            //};

            return settings;
        }
Exemplo n.º 30
0
        private static PivotGridSettings CreateLayoutPivotGridSettings(AvrPivotGridModel model)
        {
            var  settings = new PivotGridSettings();
            bool readOnly = model.PivotSettings.IsPublished | !AvrPermissions.UpdatePermission;

            settings.Name = "pivotGrid";
            settings.CallbackRouteValues =
                new
            {
                Controller = "Layout",
                Action     = "PivotGridPartial",
                //queryId = model.PivotSettings.QueryId,
                layoutId = model.PivotSettings.LayoutId
            };
            settings.CustomActionRouteValues =
                new
            {
                Controller = "Layout",
                Action     = "PivotGridPartial",
                //queryId = model.PivotSettings.QueryId,
                layoutId = model.PivotSettings.LayoutId
            };
            settings.OptionsView.HorizontalScrollBarMode = model.PivotSettings.FreezeRowHeaders ? ScrollBarMode.Auto : ScrollBarMode.Hidden;
            if (model.PivotSettings.FreezeRowHeaders)
            {
                settings.Width = Unit.Percentage(99);
            }
            settings.OptionsView.ShowFilterHeaders              = false;
            settings.OptionsView.ShowColumnHeaders              = true;
            settings.OptionsView.ShowRowHeaders                 = true;
            settings.OptionsView.DataHeadersDisplayMode         = PivotDataHeadersDisplayMode.Popup;
            settings.OptionsView.DataHeadersPopupMaxColumnCount = 3;
            //settings.OptionsDataField.RowHeaderWidth = 100;
            settings.OptionsPager.Position    = PagerPosition.Bottom;
            settings.OptionsPager.RowsPerPage = BaseSettings.AvrRowsPerPage;

            // note: this option disables paging. commented by Ivan because of out of memory
            //  settings.OptionsPager.Visible = false;
            settings.OptionsBehavior.BestFitMode = PivotGridBestFitMode.FieldValue; // PivotGridBestFitMode.Cell;

            settings.CustomLoadCallbackState = CustomLoadCallbackState;

            settings.OptionsCustomization.AllowDrag   = !readOnly;
            settings.OptionsCustomization.AllowExpand = !readOnly;
            settings.OptionsCustomization.AllowDragInCustomizationForm = true;
            settings.OptionsCustomization.AllowHideFields        = AllowHideFieldsType.Always;
            settings.OptionsCustomization.CustomizationFormStyle = CustomizationFormStyle.Simple;
            settings.OptionsCustomization.AllowCustomizationForm = !readOnly;
            SetTotalSettings(settings.OptionsView, model.PivotSettings);
            if (!readOnly)
            {
                settings.PivotCustomizationExtensionSettings.Name           = "pivotCustomization";
                settings.PivotCustomizationExtensionSettings.Enabled        = true;
                settings.PivotCustomizationExtensionSettings.Visible        = true;
                settings.PivotCustomizationExtensionSettings.AllowedLayouts =
                    CustomizationFormAllowedLayouts.TopPanelOnly;
                settings.PivotCustomizationExtensionSettings.Layout      = CustomizationFormLayout.TopPanelOnly;
                settings.PivotCustomizationExtensionSettings.AllowSort   = true;
                settings.PivotCustomizationExtensionSettings.AllowFilter = false;
                settings.PivotCustomizationExtensionSettings.Height      = Unit.Percentage(100);
                settings.PivotCustomizationExtensionSettings.Width       = Unit.Percentage(100);
            }
            settings.OptionsCustomization.AllowPrefilter = false;
            settings.Prefilter.Enabled = false;
            settings.OptionsView.EnableFilterControlPopupMenuScrolling = true;
            settings.Prefilter.Criteria = CriteriaOperator.TryParse(model.PivotSettings.FilterCriteriaString);
            settings.Styles.PrefilterBuilderCloseButtonStyle.CssClass = "invisible";
            settings.Styles.PrefilterBuilderHeaderStyle.CssClass      = "roundbox";
            settings.PopupMenuCreated += PopupMenuCreated;
            settings.Styles.PrefilterBuilderMainAreaStyle.CssClass = "filterwindow";
            settings.FilterControlOperationVisibility = (sender, args) =>
            {
                WebPivotGridField webField = GetWebPivotGridFieldByName(model.PivotSettings.Fields, args.PropertyInfo.PropertyName);
                if (webField == null)
                {
                    args.Visible = false;
                    return;
                }
                switch (webField.SearchFieldType)
                {
                case SearchFieldType.ID:     //lookup
                    args.Visible = IsValidLookupClause(args.Operation);
                    break;

                case SearchFieldType.String:
                    args.Visible = IsValidStringClause(args.Operation);
                    break;

                case SearchFieldType.Date:
                    args.Visible = IsValidDateClause(args.Operation);
                    break;

                default:
                    args.Visible = IsValidDefaultClause(args.Operation);
                    break;
                }
            };
            settings.FilterControlCustomValueDisplayText = (sender, args) =>
            {
                if (args.Value == null)
                {
                    args.DisplayText = Translator.GetMessageString("FilterConrol_EmptyEnter");
                }
                else if (args.PropertyInfo.PropertyType == typeof(DateTime))
                {
                    args.DisplayText = string.Format("{0:d}", args.Value);
                }
            };
            settings.OptionsCustomization.AllowFilterInCustomizationForm = true;
            settings.Theme = GeneralSettings.Theme;
            settings.Fields.Clear();

            foreach (WebPivotGridField webField in
                     model.PivotSettings.Fields.Where(f => f.Visible && f.Area != PivotArea.FilterArea).OrderBy(f => (long)f.Area * 100000 + f.AreaIndex))
            {
                settings.Fields.Add(webField);
            }
            foreach (WebPivotGridField webField in
                     model.PivotSettings.Fields.Where(f => !f.Visible || f.Area == PivotArea.FilterArea).OrderBy(f => f.Caption))
            {
                settings.Fields.Add(webField);
            }

            settings.Init = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                if (model.ShowingPrefilter)
                {
                    pivotGrid.PrefilterCriteriaChanged += PrefilterCriteriaChanged;
                }
                pivotGrid.FieldAreaChanged += PivotGridOnFieldAreaChanged;
                pivotGrid.HeaderTemplate    = new HeaderTemplate(model);
            };
            settings.PreRender = (sender, e) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                pivotGrid.BeginUpdate();
                pivotGrid.HeaderTemplate = new HeaderTemplate(model);
                pivotGrid.EndUpdate();
            };

            settings.BeforeGetCallbackResult = (sender, e) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                if (model.ShowPrefilter)
                {
                    pivotGrid.IsPrefilterPopupVisible = true;
                    CriteriaOperator criteria = CriteriaOperator.TryParse(model.PivotSettings.FilterCriteriaString);
                    criteria = ValidatePrefilterCriteria(criteria);
                    pivotGrid.Prefilter.Criteria = criteria;

                    model.ShowPrefilter    = false;
                    model.ShowingPrefilter = true;
                    return;
                }
                model.ShowingPrefilter = false;
                pivotGrid.BeginUpdate();
                try
                {
                    pivotGrid.Prefilter.Enabled = false;
                    UpdatePivotGridField(pivotGrid, model);

                    model.PivotSettings.UpdatedField = null;
                    if (model.PivotSettings.UpdateGroupInterval)
                    {
                        PivotGroupInterval interval = GroupIntervalHelper.GetGroupInterval(model.PivotSettings.DefaultGroupInterval);
                        SetInterval(pivotGrid, interval);
                        model.PivotSettings.UpdateGroupInterval = false;
                    }
                    SetTotalSettings(pivotGrid.OptionsView, model.PivotSettings);

                    pivotGrid.OptionsView.HorizontalScrollBarMode = model.PivotSettings.FreezeRowHeaders ? ScrollBarMode.Auto : ScrollBarMode.Hidden;
                    if (model.PivotSettings.FreezeRowHeaders)
                    {
                        pivotGrid.Width = Unit.Percentage(99);
                    }
                    else
                    {
                        pivotGrid.Width = Unit.Empty;
                    }
                    pivotGrid.ReloadData();
                }
                finally
                {
                    pivotGrid.EndUpdate();
                }
            };

            //settings.ClientSideEvents.EndCallback = "layoutPivotGrid.resizePivotGridEvent";

            settings.AfterPerformCallback = (sender, e) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;

                if (pivotGrid.HeaderTemplate == null)
                {
                    pivotGrid.HeaderTemplate = new HeaderTemplate(model);
                }
                //pivotGrid.BeginUpdate();
                //pivotGrid.ReloadData();
                //pivotGrid.EndUpdate();
            };

            settings.ClientSideEvents.CallbackError = "layoutPivotGrid.onCallbackError";
            settings.ClientSideEvents.EndCallback   = "layoutPivotGrid.onEndCallback";

            settings.CustomCellDisplayText = (sender, e) =>
            {
                InitDisplayTexthandler();

                m_DisplayTextHandler.DisplayAsterisk(new WebPivotCellDisplayTextEventArgs(e));
                if (e.DataField == null)
                {
                    return;
                }
                if (model.PivotSettings.FieldsDictionary.ContainsKey(e.DataField.FieldName))
                {
                    WebPivotGridField field = model.PivotSettings.FieldsDictionary[e.DataField.FieldName];
                    m_DisplayTextHandler.DisplayCellText(new WebPivotCellDisplayTextEventArgs(e), field.CustomSummaryType, field.Precision);
                }
            };

            settings.FieldValueDisplayText = (sender, e) =>
            {
                InitDisplayTexthandler();
                var eventArgs = new WebPivotFieldDisplayTextEventArgs(e);
                m_DisplayTextHandler.DisplayAsterisk(eventArgs);
                m_DisplayTextHandler.DisplayBool(eventArgs);

                if (m_CustomSummaryHandler == null)
                {
                    var helper = new AvrPivotGridHelperWeb((ASPxPivotGrid)sender)
                    {
                        SingleSearchObject = model.PivotSettings.IsSingleSearchObject
                    };

                    m_CustomSummaryHandler = new CustomSummaryHandler(helper);
                }
                var summaryTypes = new List <CustomSummaryType>();


                List <IAvrPivotGridField> dataFields = AvrPivotGridHelper.GetFieldCollectionFromArea(model.PivotSettings.Fields,
                                                                                                     PivotArea.DataArea);
                foreach (IAvrPivotGridField field in dataFields)
                {
                    summaryTypes.Add(field.CustomSummaryType);
                    m_DisplayTextHandler.DisplayStatisticsTotalCaption(eventArgs, summaryTypes);
                }
            };

            settings.CustomSummary = (sender, e) =>
            {
                if (m_CustomSummaryHandler == null)
                {
                    var helper = new AvrPivotGridHelperWeb((ASPxPivotGrid)sender);

                    m_CustomSummaryHandler = new CustomSummaryHandler(helper);
                }

                WebPivotGridField settingsField = model.PivotSettings.Fields.Find(f => f.FieldName == e.DataField.FieldName);
                var field = e.DataField as IAvrPivotGridField;

                if (settingsField != null && field != null && ((int)field.CustomSummaryType <= 0))
                {
                    field.CustomSummaryType    = settingsField.CustomSummaryType;
                    field.BasicCountFunctionId = settingsField.BasicCountFunctionId;
                    field.AggregateFunctionId  = settingsField.AggregateFunctionId;


                    field.UnitLayoutSearchFieldId = settingsField.UnitLayoutSearchFieldId;
                    field.UnitSearchFieldAlias    = settingsField.UnitSearchFieldAlias;
                    field.SearchFieldDataType     = settingsField.SearchFieldDataType;

                    field.DefaultGroupInterval = settingsField.DefaultGroupInterval;

                    field.Ordinal           = settingsField.Ordinal;
                    field.AddMissedValues   = settingsField.AddMissedValues;
                    field.DiapasonStartDate = settingsField.DiapasonStartDate;
                    field.DiapasonEndDate   = settingsField.DiapasonEndDate;
                    field.Precision         = settingsField.Precision;

                    field.AggregateFunctionId     = settingsField.AggregateFunctionId;
                    field.BasicCountFunctionId    = settingsField.BasicCountFunctionId;
                    field.UnitLayoutSearchFieldId = settingsField.UnitLayoutSearchFieldId;
                    field.UnitSearchFieldAlias    = settingsField.UnitSearchFieldAlias;
                    field.DateLayoutSearchFieldId = settingsField.DateLayoutSearchFieldId;
                    field.DateSearchFieldAlias    = settingsField.DateSearchFieldAlias;

                    if (settingsField.IsDateTimeField)
                    {
                        field.GroupInterval = settingsField.DefaultGroupInterval;
                    }

                    field.AllowMissedReferenceValues = settingsField.AllowMissedReferenceValues;
                    field.LookupTableName            = settingsField.LookupTableName;
                    field.GisReferenceTypeId         = settingsField.GisReferenceTypeId;
                    field.ReferenceTypeId            = settingsField.ReferenceTypeId;
                    field.LookupAttributeName        = settingsField.LookupAttributeName;
                    field.HaCode = settingsField.HaCode;

                    field.AllPivotFields       = settingsField.AllPivotFields;
                    field.FieldNamesDictionary = settingsField.FieldNamesDictionary;
                }
                m_CustomSummaryHandler.OnCustomSummary(sender, new WebPivotGridCustomSummaryEventArgs(e));
            };
            settings.CustomCellStyle = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
            };
            settings.HtmlCellPrepared = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
            };
            settings.HtmlFieldValuePrepared = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
            };
            settings.GridLayout = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                model.PivotSettings.HasChanges = true;
                var fieldsToDelete = new List <PivotGridFieldBase>();
                foreach (PivotGridField field in pivotGrid.Fields)
                {
                    WebPivotGridField webField = GetWebPivotGridFieldByFieldName(model.PivotSettings.Fields, field.FieldName);
                    if (webField != null)
                    {
                        PivotFieldItemBase visualField =
                            pivotGrid.Fields.Data.VisualItems.Data.FieldItems.SingleOrDefault(
                                s => s.FieldName == field.FieldName);
                        Dbg.Assert(visualField != null, "field {0} is not found in pivot fields list",
                                   field.FieldName);
                        if (!visualField.Visible && visualField.Area != PivotArea.FilterArea)
                        {
                            webField.Area      = PivotArea.FilterArea;
                            webField.AreaIndex = -1;
                            webField.FilterValues.Clear();
                            webField.SortOrder = field.SortOrder;
                            webField.Width     = field.Width;
                            ClearMissedValues(webField);
                        }
                        else
                        {
                            webField.Area      = field.Area;
                            webField.AreaIndex = field.AreaIndex;
                            webField.Visible   = field.Visible;
                            webField.SortOrder = field.SortOrder;
                            webField.Width     = field.Width;
                            webField.FilterValues.Assign(field.FilterValues);
                            //if (webField.IsDateTimeField && webField.GroupInterval == PivotGroupInterval.Default)
                            //{
                            //    webField.DefaultGroupInterval = GroupIntervalHelper.GetGroupInterval(model.PivotSettings.DefaultGroupInterval);
                            //    field.GroupInterval = webField.GroupInterval;
                            //}
                        }
                    }
                    else
                    {
                        fieldsToDelete.Add(field);
                    }
                }
                foreach (PivotGridFieldBase field in fieldsToDelete)
                {
                    field.Visible   = false;
                    field.Area      = PivotArea.FilterArea;
                    field.AreaIndex = -1;
                    pivotGrid.Fields.Remove(field);
                }
                //if (model.PivotSettings.ShowMissedValues)
                //{
                //    List<IAvrPivotGridField> fields = model.PivotSettings.Fields.Cast<IAvrPivotGridField>().ToList();
                //    AvrPivotGridHelper.AddMissedValuesInRowColumnArea(model, fields);
                //}
                if (fieldsToDelete.Count > 0)
                {
                    pivotGrid.ReloadData();
                }
            };
            return(settings);
        }
Exemplo n.º 31
0
        public static PivotGridSettings CreatePivotGridSettings()
        {
            PivotGridSettings settings = new PivotGridSettings();

            settings.Name = "BaoCao_" + DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss");
            settings.CallbackRouteValues = new { Controller = "Pivot", Action = "_PivotPartialView" };
            settings.OptionsView.ShowHorizontalScrollBar = true;
            settings.Width = System.Web.UI.WebControls.Unit.Percentage(100);

            #region // Xác định các field
            //Fillter
            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.FilterArea;
                filed.FieldName = "UnitName";
                filed.Caption   = "Tên khách hàng"; // Tên hiển thị fillter
            });

            //Giá trị vùng dữ liệu
            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.DataArea;
                filed.FieldName = "COGS";
                filed.Caption   = "Giá bán";
                //filed.ValueFormat.FormatType = FormatType.Custom;
                //filed.ValueFormat.FormatString = "c";
                filed.CellFormat.FormatType   = FormatType.Numeric;
                filed.CellFormat.FormatString = "{0:n0} VNĐ";
            });



            // Dòng dữ liệu
            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.RowArea;
                filed.AreaIndex = 0;
                filed.FieldName = "CategoryName";
                filed.Caption   = "Loại sản phẩm";
            });

            settings.Fields.Add(filed =>
            {
                filed.Area      = DevExpress.XtraPivotGrid.PivotArea.RowArea;
                filed.AreaIndex = 1;
                filed.FieldName = "ProductName";
                filed.Caption   = "Tên sản phẩm";
            });

            //cột dữ liệu
            settings.Fields.Add(filed =>
            {
                filed.Area          = DevExpress.XtraPivotGrid.PivotArea.ColumnArea;
                filed.FieldName     = "CreatedDate";
                filed.Caption       = "Năm";
                filed.GroupInterval = DevExpress.XtraPivotGrid.PivotGroupInterval.DateYear;
            });

            settings.Fields.Add(filed =>
            {
                filed.Area                     = DevExpress.XtraPivotGrid.PivotArea.ColumnArea;
                filed.FieldName                = "CreatedDate";
                filed.Caption                  = "Quý";
                filed.GroupInterval            = DevExpress.XtraPivotGrid.PivotGroupInterval.DateQuarter;
                filed.ValueFormat.FormatType   = FormatType.Numeric;
                filed.ValueFormat.FormatString = "Quý {0}";
            });
            #endregion

            settings.PreRender = (sender, e) =>
            {
                MVCxPivotGrid PivotGrid = sender as MVCxPivotGrid;
                if (System.Web.HttpContext.Current.Session["Layout"] != null)
                {
                    PivotGrid.LoadLayoutFromString((string)System.Web.HttpContext.Current.Session["Layout"], PivotGridWebOptionsLayout.DefaultLayout);
                }
                PivotGrid.CollapseAll();
            };
            settings.GridLayout = (sender, e) =>
            {
                MVCxPivotGrid PivotGrid = sender as MVCxPivotGrid;
                System.Web.HttpContext.Current.Session["Layout"] = PivotGrid.SaveLayoutToString(PivotGridWebOptionsLayout.DefaultLayout);
            };

            return(settings);
        }