Completed
Last Updated: 31 Mar 2014 10:16 by ADMIN
To reproduce: - Set the text of a GroupElement in the GroupElementFormatting event handler.
- Start the grid and resize a column for example.
- You will notice the the text is reverted to its original value.

Workaround:
- Use the following CustomGroupElement class: public class CustomGroupElement : PivotGroupElement { protected override void SynchronizeProperties() { base.SynchronizeProperties(); this.Text = "test"; } protected override Type ThemeEffectiveType { get { return typeof(PivotGroupElement); } } }
- you can replace the default element with the custom one in GroupElementCreating event handler: Private Sub radPivotGrid1_GroupElementCreating(sender As Object, e As PivotGroupElementCreatingEventArgs) e.GroupElement = New CustomGroupElement() End Sub
Completed
Last Updated: 07 Nov 2013 05:56 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 0
Category: PivotGrid
Type: Bug Report
1
To reproduce:

Add a RadPivotGrid and a few columns, select one column and show the PrintingDialog. Select "Print Selection Only", exception will occur.

Workaround:
Use the following print style -

public class MyPrintStyle : PivotGridPrintStyle
{
    private Func<Rectangle, SizeF> getScaleFactors;
    private Func<int, Rectangle, float, int> getStartColumn;
    private Func<int, Rectangle, float, int> getEndColumn;
    private Func<int, Rectangle, float, int> getStartRow;
    private Func<int, Rectangle, float, int> getEndRow;

    private List<AggregateDescriptionBase> aggregates;
    private List<int> columnWidths;
    private List<int> rowHeights;

    private Type baseType;
    private BindingFlags flags;

    public override void Initialize()
    {
        base.Initialize();

        this.baseType = typeof(PivotGridPrintStyle);
        this.flags = BindingFlags.NonPublic | BindingFlags.Instance;

        this.getScaleFactors = this.GetFuncFromParent<Rectangle, SizeF>("GetScaleFactors");
        this.getStartColumn = this.GetFuncFromParent<int, Rectangle, float, int>("GetStartColumn");
        this.getEndColumn = this.GetFuncFromParent<int, Rectangle, float, int>("GetEndColumn");
        this.getStartRow = this.GetFuncFromParent<int, Rectangle, float, int>("GetStartRow");
        this.getEndRow = this.GetFuncFromParent<int, Rectangle, float, int>("GetEndRow");

        this.aggregates = GetField<List<AggregateDescriptionBase>>("aggregates");
        this.columnWidths = GetField<List<int>>("columnWidths");
        this.rowHeights = GetField<List<int>>("rowHeights");

    }

    private T GetField<T>(string name)
    {
        return (T)this.baseType.GetField(name, flags).GetValue(this);
    }

    private Func<T, TResult> GetFuncFromParent<T, TResult>(string method)
    {
        MethodInfo getScaleFactor = baseType.GetMethod(method, flags);
        var func = (Func<T, TResult>)Delegate.CreateDelegate(typeof(Func<T, TResult>), this, getScaleFactor);
        return func;
    }

    private Func<T1, T2, T3, TResult> GetFuncFromParent<T1, T2, T3, TResult>(string method)
    {
        MethodInfo getScaleFactor = baseType.GetMethod(method, flags);
        var func = (Func<T1, T2, T3, TResult>)Delegate.CreateDelegate(typeof(Func<T1, T2, T3, TResult>), this, getScaleFactor);
        return func;
    }

    public override void DrawPage(Rectangle drawArea, Graphics graphics, int pageNumber)
    {
        int x = drawArea.X;
        int y = drawArea.Y;
        SizeF scale = this.getScaleFactors(drawArea);
        
        int startColumn = this.getStartColumn(pageNumber, drawArea, scale.Width);
        int endColumn = this.getEndColumn(startColumn, drawArea, scale.Width);
        int startRow = this.getStartRow(pageNumber, drawArea, scale.Height);
        int endRow = this.getEndRow(startRow, drawArea, scale.Height);
        int aggregateIndex = 0;
        for (int i = startRow; i <= endRow; i++)
        {
            x = drawArea.X;
            int maxHeight = 0;
        
            for (int j = startColumn; j <= endColumn; j++)
            {
                if (j == 0 && i == 0 && aggregateIndex < this.aggregates.Count)
                {
                    while (aggregateIndex < this.aggregates.Count)
                    {
                        if (j >= this.columnWidths.Count || i >= this.rowHeights.Count)
                        {
                            break;
                        }
        
                        Rectangle aggregateElementRect = new Rectangle(x, y, this.columnWidths[j], this.rowHeights[i]);
                        RadPrintElement aggregatePrintElement = this.GetAggregateDescriptorCell(aggregateIndex++);
                        aggregatePrintElement.ScaleTransform = scale;
                        RectangleF aggregateTransformedRect = aggregatePrintElement.GetTransformedBounds(aggregateElementRect);
                        this.PrintElement(aggregatePrintElement, drawArea, aggregateElementRect, graphics);
                        x += (int)Math.Floor(aggregateTransformedRect.Width);
                        maxHeight = Math.Max(maxHeight, (int)Math.Floor(aggregateTransformedRect.Height));
                        if (aggregateIndex < this.aggregates.Count)
                        {
                            j++;
                        }
                    }
        
                    continue;
                }
        
                Rectangle elementRect = new Rectangle(x, y, this.columnWidths[j], this.rowHeights[i]);
                RadPrintElement printElement = this.GetPrintElementForCell(i, j);
                printElement.ScaleTransform = scale;
                RectangleF transformedRect = printElement.GetTransformedBounds(elementRect);
        
                this.PrintElement(printElement, drawArea, elementRect, graphics);
                x += (int)Math.Floor(transformedRect.Width);
                maxHeight = Math.Max(maxHeight, (int)Math.Floor(transformedRect.Height));
            }
        
            y += maxHeight;
        }
    }
}
Completed
Last Updated: 11 Dec 2015 14:55 by ADMIN
Add the ability to export to OpenXML format, specifically ".xlsx".
Completed
Last Updated: 11 Jan 2017 13:11 by ADMIN
RadPivotGrid Implement logic when the user clicks on a cell to get the underlying data
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
ADMIN
Created by: Peter
Comments: 0
Category: PivotGrid
Type: Feature Request
0
This is mainly focus on DateTime fields. They automatically create children name Day, Week and etc.They should be named “<parentName>.Day”

Only for local field description 

Add in LocalDataSourceFieldDescriptionsProvider property named FormatDisplayNameAsName which turn on/off this functionality 

((LocalDataSourceFieldDescriptionsProvider)((LocalDataSourceProvider)this.radPivotGrid1.DataProvider).FieldDescriptionsProvider).FormatDisplayNameAsFieldName= true
Completed
Last Updated: 18 Jul 2013 08:44 by Jesse Dyck
Steps to reproduce:
1. Add a RadPivotGrid to a form and populate it with data or use the one in the Demo application
2. Press Ctrl+A to select all cells
3, Press Ctrl+C to copy all cells to the clipboard

You will get an exception.
Completed
Last Updated: 05 Jun 2014 07:07 by Jesse Dyck
ADMIN
Created by: Peter
Comments: 1
Category: PivotGrid
Type: Bug Report
3
RadPivot prints only left columns and the columns placed on the right part of the control do not print
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
For example:  If you grouping using of DateTimeGroupDescription you should be able to format date as dd.MM.yyyy  instead of Apr-22

Resolution: You can use the GroupElementFormatting event to format the text in the GroupDescription elements. Please, note that the developer should add an own logic for formatting a date (for example you should take the year and month from another fields)
Completed
Last Updated: 05 Jun 2014 07:07 by Jesse Dyck
ADMIN
Created by: Peter
Comments: 1
Category: PivotGrid
Type: Feature Request
3
Add support for custom calculated items.
For example: Users should be able to calculate the subtotal for the given column based on other columns subtotals.
Completed
Last Updated: 15 Feb 2021 11:02 by ADMIN
Release R1 2021 SP2
GroupDescriptions loose the Custom Name after dragging.
Completed
Last Updated: 25 Apr 2013 06:16 by Jesse Dyck
ADMIN
Created by: Stefan
Comments: 1
Category: PivotGrid
Type: Feature Request
1
IMPROVE. RadPivotGrid - expose a method for accessing cell values
Completed
Last Updated: 18 Sep 2013 19:32 by Jesse Dyck
ADMIN
Created by: Stefan
Comments: 3
Category: PivotGrid
Type: Feature Request
22
ADD. RadPivotGrid - add export to excel functionality
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
Drag the field contains date from field choicer control to Column data area. Then remove one of the sum field. The exception will thrown.

Workaround: Use the DLLs for NET2.0
Completed
Last Updated: 05 Jun 2014 07:07 by ADMIN
User is not able to open the Filter Popup Dialog when filter items contains DBNULL Workaround: Replace the DBNULL values with empty strings in your datatable.
Completed
Last Updated: 18 Feb 2013 08:54 by ADMIN
ADMIN
Created by: Stefan
Comments: 0
Category: PivotGrid
Type: Feature Request
10
ADD. RadPivotGrid - add localization provider
Completed
Last Updated: 23 Jan 2013 02:30 by ADMIN
To workaround, also add a handler to the AggregatesPositionElementCreating event.
Completed
Last Updated: 15 Jan 2013 10:59 by ADMIN
Developers should be able to set the initial state for rows and columns in RadPivotGrid.
Completed
Last Updated: 08 Jan 2013 03:42 by ADMIN
If there are many row descriptions and the total width of the row headers area is larger than the width the of the control, the vertical scroll is not visible. The same applies for the horizontal scroll and the column headers area.
Completed
Last Updated: 07 Nov 2012 03:11 by ADMIN
Due to an exception in the data engine, no data is displayed if there are DBNull values in the data source.
Completed
Last Updated: 07 Nov 2012 03:08 by ADMIN
When RadPivotGrid is in CompactLayout mode and there is a RadChartView bound to the grid and when the selection in the grid changes, in some cases a null reference exception will be thrown.