In Development
Last Updated: 10 Apr 2024 08:00 by ADMIN
Scheduled for 2024 Q2 (May)
In this case, other sheets have references to the one in which the RadPivotGrid is exported. Currently, the logic will remove and recreated the sheet which will break the references and lead to an exception.
Unplanned
Last Updated: 12 Oct 2023 10:31 by ADMIN

To reproduce the problem, use the following setup for RadPivotGrid:

        public RadForm1()
        {
            InitializeComponent();

            DataTable table = new DataTable();
            table.Columns.Add("Name", typeof(string));
            table.Columns.Add("Salary", typeof(int));
            table.Columns.Add("Title", typeof(string));
            table.Rows.Add("John",1200,"Accountant");
            table.Rows.Add("Ana", 800, "Accountant");
            table.Rows.Add("Sam", 2500, "Manager");
            table.Rows.Add("Tom", 1300, "Manager");

            this.radPivotGrid1.RowGroupDescriptions.Add(new PropertyGroupDescription() { PropertyName = "Title"});
            this.radPivotGrid1.RowGroupDescriptions.Add(new PropertyGroupDescription() { PropertyName = "Name" });
            this.radPivotGrid1.AggregateDescriptions.Add(new PropertyAggregateDescription() { PropertyName = "Salary", AggregateFunction = AggregateFunctions.Sum }); 
         
            this.radPivotGrid1.DataSource = table;
        }

Follow the steps:

1. Filter the child group ("Name") >> Salary>1000.

This is the result of the applied filter:

2.  Filter the parent group ("Title") >> Salary>1500.

After applying the filter, the observed result is that the Accountant group is still displayed even though it should be filtered and hidden (like in Excel):

Observed result:

Expected result:

 

 

 

Completed
Last Updated: 27 Mar 2023 06:35 by ADMIN
Release R1 2023 SP1

When using Crystal or CrystalDark themes, the resize cursor is not showing to widen/shrink the columns:

Expected:

Actual:

Unplanned
Last Updated: 22 Feb 2023 13:31 by ADMIN

In this case, we have Field1 and Field2 and some of the data source items will have equal values for both properties. In this case, the equal value is an empty string.

When we filter the rows by removing the empty string value, it will also remove the column which has the same value(empty string).

The result is not correct.

 

Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022
When the RadCheckBox (Defer Layout Mode) triggers the Update command which is no need. This should happen only when the RadCheckBox is unchecked.
Completed
Last Updated: 27 May 2022 13:53 by ADMIN
Release R2 2022 SP1
In this case, when the RadPivotGrid is connected to a chart and we call the UpdateUI() method at an early stage, a NullReferenceException exception will appear.
Completed
Last Updated: 13 Apr 2022 06:31 by ADMIN
Release R2 2022

My pivot grid data size is 90,388 rows, and I export data to xlsx format with SheetName = "data".

The output file generated in this case (correctly) has 65536 rows on sheet "data" and the remaining 24852 rows on the sheet "data_2" (since SheetMaxRows = 65536 and total rows > SheetMaxRows, second sheet "data_2" is added automatically).

But the rows on the sheet "data_2" are written starting from line number 65538. The data on sheet "data_2" starts on line 65538 and goes till line 90389.

Expected:

Actual:

 

Workaround; use the following custom renderer:

        public class MyRenderer : SpreadExportRenderer
        {
            public override void CreateCellSelection(int rowIndex, int columnIndex)
            {
                if (rowIndex > (int)Telerik.WinControls.UI.Export.ExcelMaxRows._65536)
                {
                    rowIndex = rowIndex % (int)Telerik.WinControls.UI.Export.ExcelMaxRows._65536 - 1;
                }
                else
                {
                    rowIndex = rowIndex % (int)Telerik.WinControls.UI.Export.ExcelMaxRows._65536;
                }
                base.CreateCellSelection(rowIndex, columnIndex);
            }
        }

Completed
Last Updated: 01 Nov 2021 15:09 by ADMIN
Release R3 2021 SP1

Here is my code for localizing the Sum aggregate function. The obtained result is a partial translation:

 

        public RadForm1()
        {
            PivotGridLocalizationProvider.CurrentProvider = new MyEnglishPivotGridLoclizationProvider();
            InitializeComponent();
        }

        private void RadForm1_Load(object sender, EventArgs e)
        {
            this.ordersTableAdapter.Fill(this.nwindDataSet.Orders);

            this.radPivotGrid1.RowGroupDescriptions.Add(new DateTimeGroupDescription() { PropertyName = "OrderDate", Step = DateTimeStep.Year, GroupComparer = new GroupNameComparer() });
            this.radPivotGrid1.RowGroupDescriptions.Add(new DateTimeGroupDescription() { PropertyName = "OrderDate", Step = DateTimeStep.Quarter, GroupComparer = new GroupNameComparer() });
            this.radPivotGrid1.RowGroupDescriptions.Add(new DateTimeGroupDescription() { PropertyName = "OrderDate", Step = DateTimeStep.Month, GroupComparer = new GroupNameComparer() });
            this.radPivotGrid1.ColumnGroupDescriptions.Add(new PropertyGroupDescription() { PropertyName = "EmployeeID", GroupComparer = new GrandTotalComparer() });
            this.radPivotGrid1.AggregateDescriptions.Add(new PropertyAggregateDescription() { PropertyName = "Freight", AggregateFunction = AggregateFunctions.Sum });
            this.radPivotGrid1.AggregateDescriptions.Add(new PropertyAggregateDescription() { PropertyName = "Freight", AggregateFunction = AggregateFunctions.Count });
            this.radPivotGrid1.FilterDescriptions.Add(new PropertyFilterDescription() { PropertyName = "ShipCountry", CustomName = "Country" });
            this.radPivotGrid1.DataSource = this.ordersBindingSource;
        }

        class MyEnglishPivotGridLoclizationProvider : PivotGridLocalizationProvider
        {
            public override string GetLocalizedString(string id)
            {
                switch (id)
                {
                    case PivotStringId.Sum:
                        return "Soma"; 
                    default:
                        return base.GetLocalizedString(id);
                }
            }
        }

Unplanned
Last Updated: 06 Oct 2021 12:28 by ADMIN
Created by: FRANCESCO
Comments: 0
Category: PivotGrid
Type: Bug Report
0

The "Sort" item doesn't seem to be relevant for the report filter. It should be removed from the menu items. However, for the "Hide" item it can be added logic for removing the filter:

Completed
Last Updated: 15 Feb 2021 11:02 by ADMIN
Release R1 2021 SP2
GroupDescriptions loose the Custom Name after dragging.
Declined
Last Updated: 08 Feb 2021 17:03 by ADMIN
Completed
Last Updated: 12 Oct 2020 16:30 by ADMIN
Release R3 2020 SP1

The error is reproducible in the First look example of RadPivotGrid:

Completed
Last Updated: 02 Jan 2020 09:34 by ADMIN
Release R1 2020
Unplanned
Last Updated: 05 Jun 2019 08:02 by ADMIN
Unplanned
Last Updated: 04 Jun 2019 11:03 by ADMIN

To reproduce: 

- Set the ExportFlatData property to true

- Export the grid using PivotExportToExcelML

Completed
Last Updated: 29 Mar 2019 09:40 by Dimitar
How to reproduce: see the attached video

Workaround:
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();

        this.radPivotFieldList1.DragDropService = new CustomPivotFieldListDragDropService(this.radPivotFieldList1);
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'nwindDataSet.Orders' table. You can move, or remove it, as needed.
        this.ordersTableAdapter.Fill(this.nwindDataSet.Orders);

    }
}

public class CustomPivotFieldListDragDropService : PivotFieldListDragDropService
{
    private RadPivotFieldList fieldList;
    private Telerik.WinControls.UI.PivotFieldList.FieldPayload payload;

    public CustomPivotFieldListDragDropService(RadPivotFieldList fieldList)
        : base(fieldList)
    {
        this.fieldList = fieldList;
    }

    protected override void PerformStart()
    {
        base.PerformStart();

        Telerik.WinControls.UI.PivotFieldList.IField draggedField = this.GetField(this.Context);

        if (draggedField == null)
        {
            this.Stop(false);
            return;
        }

        this.payload = new Telerik.WinControls.UI.PivotFieldList.FieldPayload(draggedField);
    }

    protected override void OnPreviewDragOver(RadDragOverEventArgs e)
    {
        RadElement targetElement = this.DropTarget as RadElement;
        Telerik.WinControls.UI.PivotFieldList.IField targetField = this.GetField(targetElement);

        if (targetElement != null && targetElement.ElementTree.Control == this.fieldList.ReportFiltersControl && this.payload != null)
        {
            foreach (Telerik.WinControls.UI.PivotFieldList.IField field in this.fieldList.ViewModel.Filters)
            {
                if (field.FieldInfo == payload.DraggedField.FieldInfo &&  this.Context is TreeNodeElement ))
                {
                    e.CanDrop = false;
                    this.payload.SetDestination(null);
                    this.payload.RemoveFromSource = false;

                    return;
                }
            }
        }

        base.OnPreviewDragOver(e);
    }

    private Telerik.WinControls.UI.PivotFieldList.IField GetField(object context)
    {
        RadListVisualItem listItem = context as RadListVisualItem;
        TreeNodeElement treeItem = context as TreeNodeElement;
        PivotFieldListItemButton button = context as PivotFieldListItemButton;

        if (button != null)
        {
            listItem = button.Owner;
        }

        Telerik.WinControls.UI.PivotFieldList.IField field1 = null, field2 = null;
        if (listItem != null && listItem.Data != null)
        {
            field1 = listItem.Data.DataBoundItem as Telerik.WinControls.UI.PivotFieldList.IField;
        }

        if (treeItem != null && treeItem.Data != null)
        {
            field2 = treeItem.Data.DataBoundItem as Telerik.WinControls.UI.PivotFieldList.IField;
        }

        return field1 ?? field2;
    }
}
Unplanned
Last Updated: 25 Jan 2019 07:31 by ADMIN
Workaround: If possible add the label filters with code
PropertyGroupDescription dateGroupDescription = new PropertyGroupDescription();
dateGroupDescription.PropertyName = "Date";

LabelGroupFilter filter = new LabelGroupFilter();
ComparisonCondition condition = new ComparisonCondition
{
    Condition = Telerik.Pivot.Core.Filtering.Comparison.IsGreaterThan,
    Than = new DateTime(2010, 6, 6)
};
filter.Condition = condition;
dateGroupDescription.GroupFilter = filter;

this.provider.RowGroupDescriptions.Add(dateGroupDescription);
Completed
Last Updated: 10 Jan 2019 12:03 by ADMIN
The issue may manifest if aggregate descriptions are added on the pivot`s column axis and if their member does not return data.
Completed
Last Updated: 27 Nov 2018 11:43 by Bailey
I came across an exception when trying to use the Report Filter area with data that contains blank (DBNull) values.  It looks like the control tries to build a distinct list of values to show in the filter's drop-down, but throws an exception if one of the values is blank.  I attached a ZIP file with a Visual Studio project that demonstrates the issue, and included a Word file to describe how to reproduce the error.  

Any assistance is greatly appreciated.  Thank you.


Drew White
Developer
CRMCulture, LLC

Email:         dwhite@CRMCulture.com
Web:          http://www.crmculture.com
Completed
Last Updated: 11 Oct 2018 14:04 by Dimitar
How to reproduce: 
Me.RadPivotGrid1.DataSource = Nothing

Workaround: 
DirectCast(Me.RadPivotGrid1.DataProvider, LocalDataSourceProvider).ItemsSource = Nothing
Dim viewModel = Me.RadPivotGrid1.PivotGridElement.GetType().GetField("viewModel", BindingFlags.Instance Or BindingFlags.NonPublic).GetValue(Me.RadPivotGrid1.PivotGridElement)
viewModel.GetType().GetProperty("DataProvider").SetValue(viewModel, Nothing)
1 2 3 4 5