Currently the words: Row, Column and Value are not localizable in the ScreenTip. Currently they can be localized as follows: void radPivotGrid1_ScreenTipNeeded(object sender, Telerik.WinControls.ScreenTipNeededEventArgs e) { PivotCellElement cell = e.Item as PivotCellElement; if (cell == null || cell.ScreenTip == null) { return; } RadOffice2007ScreenTipElement screenTip = cell.ScreenTip asRadOffice2007ScreenTipElement; screenTip.MainTextLabel.Text = screenTip.MainTextLabel.Text .Replace("Value:", "ChangedValue:") .Replace("Row:", "ChangedRow:") .Replace("Column:", "ReplacedColumn:"); }
RunExport(filename) method generates a System.UnauthorizedAccessException, Access to the path "C:\..." is denied. given that I`m the administrator and I`m able to export crystal report documents (all formats) with no issues at all. what could be the issue. below is the sample code: SaveFileDialog svd = new SaveFileDialog(); svd.FileName = "AnyThing"; svd.Filter = "Excel files (*.xls)|"; if (svd.ShowDialog() == DialogResult.OK) { PivotExportToExcelML exportExcel = new PivotExportToExcelML(radPivotGrid1); exportExcel.ShowGridLines = true; exportExcel.ExportVisualSettings = true; exportExcel.HeaderCellsFont = new System.Drawing.Font("Arial", 8); exportExcel.DataCellsFont = new System.Drawing.Font("Arial", 8); exportExcel.GridLinesColor = Color.Black; exportExcel.CellBackColor = Color.White; exportExcel.SheetName = "Test"; exportExcel.ExportFlatData = false; exportExcel.RunExport(Path.GetDirectoryName(svd.FileName)); }
To reproduce: Create a localization provider following the article - http://wwwsit.telerik.com/help/winforms/pivotgrid-localization-localization.html. When you start the app you will see that the PivotAggregateP0ofP1 is not used. Workaround: Use the formatting events to format the needed values - http://wwwsit.telerik.com/help/winforms/pivotgrid-formatting-appearance.html
Until the feature gets implemented create a custom PivotFieldListVisualItem and translate each of the items individually: public partial class Form1 : Form { public Form1() { InitializeComponent(); this.radPivotFieldList1.RowLabelsControl.CreatingVisualListItem += ListControl_CreatingVisualListItem; this.radPivotFieldList1.ColumnLabelsControl.CreatingVisualListItem += ListControl_CreatingVisualListItem; this.radPivotFieldList1.ReportFiltersControl.CreatingVisualListItem += ListControl_CreatingVisualListItem; this.radPivotFieldList1.ValuesControl.CreatingVisualListItem += ListControl_CreatingVisualListItem; } private void ListControl_CreatingVisualListItem(object sender, CreatingVisualListItemEventArgs args) { args.VisualItem = new MyPivotFieldListVisualItem(this.radPivotFieldList1.ViewModel); } } public class MyPivotFieldListVisualItem : PivotFieldListVisualItem { public MyPivotFieldListVisualItem(FieldListViewModel viewModel) : base(viewModel) { } protected override void CreateChildElements() { base.CreateChildElements(); CommandBarDropDownButton btn = this.GetType().BaseType .GetField("button", BindingFlags.Instance | BindingFlags.NonPublic) .GetValue(this) as CommandBarDropDownButton; if (btn != null) { btn.DropDownMenu.PopupOpening += DropDownMenu_PopupOpening; } } private void DropDownMenu_PopupOpening(object sender, System.ComponentModel.CancelEventArgs args) { foreach (RadItem item in ((RadDropDownMenu)sender).Items) { // Validate and localize each of the items if (item is RadMenuItem) { item.Text = "MyText"; } } } }
To reproduce: private void Form1_Load(object sender, EventArgs e) { this.ordersTableAdapter.Fill(this.nwindDataSet.Orders); LocalDataSourceProvider dataProvider = new LocalDataSourceProvider(); dataProvider.Culture = new System.Globalization.CultureInfo("ru-RU"); dataProvider.ItemsSource = this.ordersBindingSource; dataProvider.BeginInit(); dataProvider.RowGroupDescriptions.Add(new DateTimeGroupDescription() { PropertyName = "OrderDate", Step = DateTimeStep.Year, GroupComparer = new GroupNameComparer() }); dataProvider.RowGroupDescriptions.Add(new DateTimeGroupDescription() { PropertyName = "OrderDate", Step = DateTimeStep.Quarter, GroupComparer = new GroupNameComparer() }); dataProvider.RowGroupDescriptions.Add(new DateTimeGroupDescription() { PropertyName = "OrderDate", Step = DateTimeStep.Month, GroupComparer = new GroupNameComparer() }); dataProvider.ColumnGroupDescriptions.Add(new PropertyGroupDescription() { PropertyName = "EmployeeID", GroupComparer = new GrandTotalComparer() }); dataProvider.EndInit(); dataProvider.BeginInit(); dataProvider.AggregateDescriptions.Add(new PropertyAggregateDescription() { PropertyName = "Freight", AggregateFunction = AggregateFunctions.Sum }); dataProvider.AggregateDescriptions.Add(new PropertyAggregateDescription() { PropertyName = "Freight", AggregateFunction = AggregateFunctions.Average }); dataProvider.EndInit(); this.radPivotGrid1.DataProvider = dataProvider; } Workaround: CultureInfo russianCultureInfo = new System.Globalization.CultureInfo("ru-RU"); List<string> monthNames = DateTimeFormatInfo.CurrentInfo.MonthNames.ToList(); public Form1() { InitializeComponent(); this.radPivotGrid1.GroupDescriptorElementCreating += radPivotGrid1_GroupDescriptorElementCreating; } private void radPivotGrid1_GroupDescriptorElementCreating(object sender, GroupDescriptorElementCreatingEventArgs e) { if (e.GroupDescriptorElement.Text == "Month") { e.GroupDescriptorElement.FilterPopup.PopupOpening -= FilterPopupPopupOpening; e.GroupDescriptorElement.FilterPopup.PopupOpening += FilterPopupPopupOpening; } } private void FilterPopupPopupOpening(object sender, CancelEventArgs args) { PivotGroupFilterPopup popup = sender as PivotGroupFilterPopup; if (popup != null) { popup.TreeViewMenuItem.TreeElement.TreeView.NodeFormatting -= TreeView_NodeFormatting; popup.TreeViewMenuItem.TreeElement.TreeView.NodeFormatting += TreeView_NodeFormatting; } } private void TreeView_NodeFormatting(object sender, TreeNodeFormattingEventArgs e) { DateTime date; int monthIndex = monthNames.IndexOf(e.Node.Text); if (monthIndex > -1) { e.Node.Text = russianCultureInfo.DateTimeFormat.MonthNames[monthIndex]; } }
To reproduce: Open the demo application and navigate to Pivot -> Printing. Move the Aggregates descriptor next to the Product one and remove the Promotions descriptor. Click PrintPreview and you will see that the Product descriptor will not be visible
In the PrintElementFormatting event you need to be allowed to specify the PivotCellPrintElement.Text property in the desired format. Workaround: use reflection to set the "formattedValue" readonly field for the PivotCellPrintElement.
To reproduce: Bind RadPivotGrid and associate it with RadPivotFieldList. Start the application and start selecting/unselecting fields from the field list. Observe how the memory usage is raising.
To reproduce: - Open the demo application and navigate to the olap browser demo. - Click the filter icon in the Product Line (top left corner).
To reproduce: 1. Drag and drop RadPivotGrid. 2. On FormLoad call BestFitRowHeaders() method 3. When run the project, an exception is thrown
To reproduce: Bind a RadPivotGrid and set the theme to Breeze. You will see that there are no filtering buttons. Workaround: Use the following code to set an image to the buttons: protected override void OnLoad(EventArgs e) { base.OnLoad(e); List<PivotFilterFunctionButton> elements = this.FindAllElements<PivotFilterFunctionButton>(this.pivot.PivotGridElement); Image img = Image.FromFile(@"filter.png"); foreach (PivotFilterFunctionButton item in elements) { item.Image = img; } } public List<T> FindAllElements<T>(RadElement parent) where T : RadElement { List<T> list = new List<T>(); this.FindAllElementsCore(parent, list); return list; } private void FindAllElementsCore<T>(RadElement parent, List<T> list) where T : RadElement { if (parent is T) { list.Add(parent as T); return; } foreach (RadElement item in parent.Children) { FindAllElementsCore<T>(item, list); } } The image can be downloaded below.
DECLINED: The cells remain bold because there is no explicit setting for the Font property in the default state of the PivotCellElement. When one sets a style for a given element state, this setting will also remain for other states if they don't have an explicit setting for the same property. This is how our theming mechanism works. To resolve the issue, just set the Font property of the PivotCellElement in its default state in Visual Style Builder. To reproduce: Open ControlDefaultTheme in VisualStyleBuilder, go to RadPivotGrid -> RadPivotGridElement -> PivotCellElement and set bold font for the PivotCellElement.GrandTotalRow. Bind RadPivotGrid and set the properties AutoExpandColumnHeaders to false and AutoExpandRowHeaders to false. Start the application and expand the rows. You will see that the cells will be incorrectly formatted.
One cannot copy cells from collapsed row groups.
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
To reproduce: Create a RadPivotGrid with some data and export it by following the article http://www.telerik.com/help/winforms/pivotgrid-export-to-excel.html Set the following settings to the exporter: exporter.ShowGridLines = true; exporter.ExportVisualSettings = true; exporter.HeaderCellsFont = new System.Drawing.Font("Arial", 8); exporter.DataCellsFont = new System.Drawing.Font("Arial", 8); exporter.GridLinesColor = Color.Black; exporter.CellBackColor = Color.White; exporter.SheetName = this.ClientManager.CubeEngine.Title; exporter.ExportFlatData = false; Also subscribe to the PivotExcelCellFormatting event use the following code: e.Cell.TextAlignment = ContentAlignment.MiddleRight; e.Cell.DrawBorder = true; e.Cell.BorderColor = Color.Black; e.Cell.DrawText = true; e.Cell.DrawFill = true; You will see that the exported cells will not have borders, nor their font will be changed. Additionally, if you set a specific ForeColor, BackColor, it is not applied as well.
To reproduce: - Change some cell properties and export the grid. - You will notice that the the changed properties are not exported.
The TelerikData.dll and ChartView.dll should only be referenced when one needs to use the Export or Bind-to-ChartView functionality respectively. With the current implementation, when someone wants to merge the PivotGrid.dll in their application, the TelerikData.dll and ChartView.dll will always be required to merge because assemblies are resolved statically when merging.