Beispiel #1
0
 private bool HaveSingleChild(PivotGridData data, PivotFieldValueItem valueItem)
 {
     if (valueItem.MinLastLevelIndex == valueItem.MaxLastLevelIndex)
     {
         return(true);
     }
     else
     {
         var nestedField = data.GetFieldByArea(valueItem.Area, valueItem.Field.AreaIndex + 1);
         IEnumerable <DevExpress.XtraPivotGrid.PivotDrillDownDataRow> rows = valueItem.CreateDrillDownDataSource().Cast <DevExpress.XtraPivotGrid.PivotDrillDownDataRow>();
         return(rows.Select(row => row[nestedField]).Distinct().Count() == 1);
     }
 }
Beispiel #2
0
 protected void ASPxPivotGrid1_CustomCellValue(object sender, DevExpress.Web.ASPxPivotGrid.PivotCellValueEventArgs e)
 {
     if (e.DataField.ID == "fieldAmountCustomPercent" && e.RowField != null)
     {
         PivotGridData       data = ((ASPxPivotGrid)sender).Data;
         PivotFieldValueItem parentValueItem;
         if (GetParentItem(data, e.RowIndex, e.RowField.AreaIndex, out parentValueItem))
         {
             PivotGridField[] columnFields = e.GetColumnFields() ?? new PivotGridField[0];
             PivotGridField[] rowFields    = e.GetRowFields() ?? new PivotGridField[0];
             e.Value = e.GetCellValue(columnFields.Select(cf => e.GetFieldValue(cf)).ToArray(),
                                      rowFields.Where(rf => rf.AreaIndex <= parentValueItem.Field.AreaIndex).Select(rf => e.GetFieldValue(rf)).ToArray(),
                                      e.DataField);
         }
     }
 }
Beispiel #3
0
        public XtraReport CreatePivotGridReport()
        {
            XtraReport1 report    = new XtraReport1();
            XRPivotGrid pivotGrid = report.xrPivotGrid1;
            var         session   = HttpContext.Current.Session;

            byte[] collapsedState = (byte[])session["CollapsedState"];
            byte[] layout         = (byte[])session["Layout"];

            if (collapsedState != null && layout != null)
            {
                using (MemoryStream collapsedStateMS = new MemoryStream(collapsedState))
                    using (MemoryStream layoutMS = new MemoryStream(layout)) {
                        PivotGridData data = ((IPivotGridDataContainer)pivotGrid).Data;
                        new DevExpress.Utils.Serializing.XmlXtraSerializer().DeserializeObject(pivotGrid, layoutMS, "PivotGrid");
                        data.LoadCollapsedStateFromStream(collapsedStateMS);
                    }
            }
            return(report);
        }
Beispiel #4
0
    private bool GetParentItem(PivotGridData data, int rowIndex, int level, out PivotFieldValueItem parentValueItem)
    {
        parentValueItem = null;
        if (level < 1)
        {
            return(false);
        }
        PivotFieldValueItem valueItem = data.VisualItems.GetItem(false, rowIndex, level - 1);

        if (valueItem != null && valueItem.Field != null && HaveSingleChild(data, valueItem))
        {
            parentValueItem = valueItem;
            if (level > 1 && GetParentItem(data, rowIndex, level - 1, out valueItem))
            {
                parentValueItem = valueItem;
            }
            return(true);
        }
        else
        {
            return(false);
        }
    }
Beispiel #5
0
 public MyPrintCellSizeProvider(PivotGridData data, PivotVisualItemsBase visualItems, PivotGridPrinterBase printer)
     : base(data, visualItems, printer)
 {
 }
Beispiel #6
0
 public MyPivotPrintBestFitter(PivotGridData data, PivotGridPrinterBase printer)
     : base(data, printer, new MyPrintCellSizeProvider(data, data.VisualItems, printer))
 {
 }
 public MyPivotGridFieldCollection(PivotGridData data) : base(data)
 {
 }
 public MyPivotGridField(PivotGridData data) : base(data)
 {
 }
 public MyPrintCellSizeProvider(PivotGridData data, PivotVisualItemsBase visualItems, PivotGridPrinterBase printer)
     : base(data, visualItems, printer)
 {
     imageHeight = ((ImageList)data.HeaderImages).ImageSize.Height;
 }