Declined
Last Updated: 24 Nov 2018 23:13 by KKL
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 3
Category:
Type: Bug Report
1
To reproduce: run the attached sample project. Select an item and press F2, select a new item from the drop-down. You will encounter an error because the ActiveEditor is now null in the ItemValueChanging event.

Workaround: in the EditorInitialized event you can subscribe to the RadDropDownListElement.SelectedIndexChanging event:

private void radListView1_EditorInitialized(object sender, ListViewItemEditorInitializedEventArgs e)
{
    ListViewDropDownListEditor editor = e.Editor as ListViewDropDownListEditor;
    if (editor==null)
    {
        return;
    }
    RadDropDownListElement dropdown = (RadDropDownListElement)editor.EditorElement;
    dropdown.SelectedIndexChanging-=dropdown_SelectedIndexChanging;
    dropdown.SelectedIndexChanging+=dropdown_SelectedIndexChanging;
}


Declined
Last Updated: 23 Oct 2018 10:21 by ADMIN
To reproduce:
1. Add a RadCollapsiblePanel and change the back color or border of the container via the Edit UI elements dialog.
2. Save the changes and run the project. You will notice that the style is reset and the changes are not preserved. 

Workaround: Customize the style at runtime. The following help article gives you information about the internal elements structure of the RadCollapsiblePanel: https://docs.telerik.com/devtools/winforms/panels-and-labels/collapsiblepanel/structure 
Declined
Last Updated: 06 Nov 2018 12:29 by ADMIN
To reproduce: please refer to the attached sample project and try to reorder a node. You will notice that the message box is not rendered properly.

        //case 2
        private void DragDropService_PreviewDragDrop(object sender, RadDropEventArgs e)
        {
             e.Handled = true;
            RadMessageBox.Show(this, "Showing a messagebox under dragending doesn't work correctly.");
        }

        //case 1
        private void radTreeView1_DragEnding(object sender, Telerik.WinControls.UI.RadTreeViewDragCancelEventArgs e)
        {
            //e.Cancel = true;
            //RadMessageBox.Show(this, "Showing a messagebox under dragending doesn't work correctly.");
        }

Workaround: subscribe to the TreeViewElement.DragDropService.PreviewDragDrop and set the Handled argument to true if you want to cancel the drop operation. Then, handle the TreeViewElement.DragDropService.Stopped event and show the desired message.

        public Form1()
        {
            InitializeComponent();
            
            this.radTreeView1.TreeViewElement.DragDropService.PreviewDragDrop += DragDropService_PreviewDragDrop;
            this.radTreeView1.TreeViewElement.DragDropService.Stopped+=DragDropService_Stopped;
        }

        private void DragDropService_Stopped(object sender, EventArgs e)
        {
            
            RadMessageBox.Show(this, "Showing a messagebox under dragending doesn't work correctly.");
        }
 
        private void DragDropService_PreviewDragDrop(object sender, RadDropEventArgs e)
        {
            e.Handled = true;
        }
Declined
Last Updated: 06 Nov 2018 09:47 by ADMIN
To reproduce: please refer to the attached sample project  and gif file illustrating the behavior on my end. 

Note: similar to the axis, the series should also have ClipLabels property which will control whether the labels will be clipped or not.

Workaround: use custom renderer:

 Sub New()

        InitializeComponent() 

        AddHandler Me.RadChartView1.CreateRenderer, AddressOf RadChartView1_CreateRenderer

        Dim barSeries As New Telerik.WinControls.UI.BarSeries("Performance", "RepresentativeName")
        barSeries.Name = "Q1"
        barSeries.ShowLabels = True
        barSeries.DataPoints.Add(New CategoricalDataPoint(177, "Harley"))
        barSeries.DataPoints.Add(New CategoricalDataPoint(128, "White"))
        barSeries.DataPoints.Add(New CategoricalDataPoint(143, "Smith"))
        barSeries.DataPoints.Add(New CategoricalDataPoint(111, "Jones"))
        barSeries.DataPoints.Add(New CategoricalDataPoint(118, "Marshall"))
        Me.RadChartView1.Series.Add(barSeries)
        Dim barSeries2 As New Telerik.WinControls.UI.BarSeries("Performance", "RepresentativeName")
        barSeries2.Name = "Q2"
        barSeries2.ShowLabels = True
        barSeries2.DataPoints.Add(New CategoricalDataPoint(153, "Harley"))
        barSeries2.DataPoints.Add(New CategoricalDataPoint(141, "White"))
        barSeries2.DataPoints.Add(New CategoricalDataPoint(130, "Smith"))
        barSeries2.DataPoints.Add(New CategoricalDataPoint(88, "Jones"))
        barSeries2.DataPoints.Add(New CategoricalDataPoint(109, "Marshall"))
        Me.RadChartView1.Series.Add(barSeries2)


        Dim lassoZoomController As New ChartPanZoomController()
        RadChartView1.Controllers.Add(lassoZoomController)

    End Sub
    
    Public Class CustomLabelElementDrawPart
        Inherits BarLabelElementDrawPart
        Public Sub New(owner As ChartSeries, renderer As IChartRenderer)
            MyBase.New(owner, renderer)

        End Sub

        Public Overrides Sub Draw()
            If Not Me.Element.ShowLabels Then
                Return
            End If

            Dim graphics As Graphics = TryCast(Me.Renderer.Surface, Graphics)
            Dim radGraphics As RadGdiGraphics = New RadGdiGraphics(graphics)
            Dim isSmartLabelsEnabled As Boolean = Me.Element.View.ShowSmartLabels
            Dim isLineToLabelEnabled As Boolean = Me.Element.DrawLinesToLabels

            For Each dataPointElement As DataPointElement In Me.Element.Children
                Dim categoricalDataPoint As CategoricalDataPoint = TryCast(dataPointElement.DataPoint, CategoricalDataPoint)


                For i As Integer = 0 To dataPointElement.Children.Count - 1
                    Dim labelElement As LabelElement = TryCast(dataPointElement.Children(i), LabelElement)

                    If labelElement Is Nothing Then
                        Continue For
                    End If

                    labelElement.OnLabelFormatting(New ChartViewLabelFormattingEventArgs(labelElement))

                    If Not labelElement.IsVisible OrElse String.IsNullOrEmpty(labelElement.Text) Then
                        Continue For
                    End If

                    Dim rect As Rectangle
                    Dim slot As RadRect = labelElement.GetLayoutSlot()

                    If isSmartLabelsEnabled AndAlso labelElement.SmartRectangle <> Rectangle.Empty Then
                        rect = labelElement.SmartRectangle
                    Else
                        slot = AdjustLayoutSlot(slot, labelElement.DataPointElement)
                        rect = ChartRenderer.ToRectangle(slot)
                    End If

                    Dim state As Object = radGraphics.SaveState()
                    Dim horizontalTranslate As Integer = rect.X + rect.Width / 2
                    Dim verticalTranslate As Integer = rect.Y + rect.Height / 2
                    Dim clipRect As RectangleF
                    If TypeOf Me.Renderer Is CartesianRenderer Then
                        Dim size As SizeF = graphics.MeasureString("W", Me.Element.Font)
                        Dim plotRect As RadRect = Me.Element.Model.LayoutSlot
                        plotRect.X += Me.ViewportOffsetX
                        plotRect.Y += Me.ViewportOffsetY
                        clipRect = ChartRenderer.ToRectangleF(plotRect)
                        clipRect.Y -= size.Height / 2.0F
                        clipRect.Height += size.Height
                        clipRect.Width += size.Width * 2.0F
                        graphics.SetClip(clipRect)
                    End If

                    Dim angle As Single = CSng(Me.Element.LabelRotationAngle) Mod 360.0F

                    If angle <> 0 Then
                        radGraphics.TranslateTransform(horizontalTranslate, verticalTranslate)
                        radGraphics.RotateTransform(angle)
                        radGraphics.TranslateTransform(-horizontalTranslate, -verticalTranslate)
                    End If

                    If isLineToLabelEnabled Then
                        Me.DrawConnectingLine(radGraphics, labelElement, dataPointElement, isSmartLabelsEnabled AndAlso labelElement.SmartRectangle <> Rectangle.Empty)
                    End If

                    If labelElement.BackgroundShape IsNot Nothing Then
                        labelElement.BackgroundShape.Paint(CType(radGraphics.UnderlayGraphics, Graphics), rect)
                    End If

                    Dim fill As Telerik.WinControls.Primitives.FillPrimitiveImpl = New Telerik.WinControls.Primitives.FillPrimitiveImpl(labelElement, Nothing)
                    fill.PaintFill(radGraphics, 0, System.Drawing.Size.Empty, rect)
                    Dim border As Telerik.WinControls.Primitives.BorderPrimitiveImpl = New Telerik.WinControls.Primitives.BorderPrimitiveImpl(labelElement, Nothing)
                    border.PaintBorder(radGraphics, 0, System.Drawing.Size.Empty, rect)

                    Using brush As Brush = New SolidBrush(labelElement.ForeColor)
                        Dim drawRectangle As RectangleF = New RectangleF()
                        drawRectangle.X = rect.X + labelElement.Padding.Left
                        drawRectangle.Y = rect.Y + labelElement.Padding.Top
                        drawRectangle.Width = rect.Width - labelElement.Padding.Right
                        drawRectangle.Height = rect.Height - labelElement.Padding.Bottom
                        Dim format As StringFormat = New StringFormat()
                        format.Alignment = ContentAlignmentToHorizontalStringAlignment(labelElement.TextAlignment)
                        format.LineAlignment = Me.ContentAlignmentToVerticalStringAlignment(labelElement.TextAlignment)
                        graphics.DrawString(labelElement.Text, labelElement.Font, brush, drawRectangle, format)
                    End Using

                    If angle <> 0 Then
                        radGraphics.ResetTransform()
                        radGraphics.RestoreState(state)
                    End If

                    graphics.ResetClip()
                Next
            Next
        End Sub

        Public Function ContentAlignmentToVerticalStringAlignment(ByVal contentAlignment As ContentAlignment) As StringAlignment
            Dim result As StringAlignment

            Select Case contentAlignment
                Case contentAlignment.BottomCenter, contentAlignment.BottomLeft, contentAlignment.BottomRight
                    result = StringAlignment.Far
                Case contentAlignment.TopCenter, contentAlignment.TopLeft, contentAlignment.TopRight
                    result = StringAlignment.Near
                Case Else
                    result = StringAlignment.Center
            End Select

            Return result
        End Function

        Private Function ContentAlignmentToHorizontalStringAlignment(ByVal contentAlignment As ContentAlignment) As StringAlignment
            Dim result As StringAlignment

            Select Case contentAlignment
                Case contentAlignment.BottomLeft, contentAlignment.MiddleLeft, contentAlignment.TopLeft
                    result = StringAlignment.Near
                Case contentAlignment.BottomRight, contentAlignment.MiddleRight, contentAlignment.TopRight
                    result = StringAlignment.Far
                Case Else
                    result = StringAlignment.Center
            End Select

            Return result
        End Function

    End Class

    Private Sub RadChartView1_CreateRenderer(sender As Object, e As ChartViewCreateRendererEventArgs)
        e.Renderer = New CustomCartesianRenderer(e.Area)
    End Sub

    Public Class CustomCartesianRenderer
        Inherits CartesianRenderer
        Public Sub New(area As CartesianArea)
            MyBase.New(area)
        End Sub
        Protected Overrides Sub Initialize()
            MyBase.Initialize()
            For i As Integer = 0 To Me.DrawParts.Count - 1

                Dim label As BarLabelElementDrawPart = TryCast(Me.DrawParts(i), BarLabelElementDrawPart)
                If (label IsNot Nothing) Then
                    Me.DrawParts(i) = New CustomLabelElementDrawPart(label.Element, Me)
                End If
            Next
        End Sub
    End Class
Declined
Last Updated: 05 Feb 2019 16:46 by Fabrice

Hi,

We have an issue when using RightToLeft property of the RadCollapsiblePanel Control.

When the HeaderText ends with non-alphanumeric characters, on display, these characters are moved to the beginning of the title (possibly with a replacement of the closing characters in opening characters - such as the parenthesis).

I've attached a little sample of the issue.

Thanks for your help.

 

Regards

 

Fabrice MABIT

fmabit@proginov.com

Declined
Last Updated: 05 Apr 2019 14:30 by ADMIN

To reproduce:

Update the data source directly and check the OldItems array.

Declined
Last Updated: 01 Mar 2019 12:29 by ADMIN

When a form's width is reduced enough then some groups in ribbon bar will become collapsed and in group's place a drop-down arrow is shown. When this arrow is clicked it will show properly its active state in all themes except three Metro themes. In Metro themes arrow's active state is such that only upper half of the control is visible. The issue is shown in current documentation for RadRibbonBar in the following image:

 

 

Declined
Last Updated: 16 May 2019 08:17 by ADMIN
Created by: Christian
Comments: 1
Category: UI for WinForms
Type: Bug Report
1
Use attached to reproduce.
Declined
Last Updated: 05 Aug 2016 09:27 by ADMIN
Duplicated: http://feedback.telerik.com/Project/154/Feedback/Details/138793-fix-raddataentry-incorrectly-mapped-value-for-the-first-item-when-using-raddro

How to reproduce:
 public partial class Form1 : Form
    {
        List<Product> productList;
        List<Supplier> suplierList;
        BindingSource productsBinding;

        public Form1()
        {
            InitializeComponent();

            radDataEntry1.EditorInitializing += radDataEntry1_EditorInitializing;
            radDataEntry1.BindingCreating += radDataEntry1_BindingCreating;
            radDataEntry1.BindingCreated += radDataEntry1_BindingCreated;

            productList = new List<Product>();
            suplierList = new List<Supplier>();

            //productList.Add(new Product(1, "Chai"));
            //productList.Add(new Product(2, "Chang"));
            //productList.Add(new Product(3, "Aniseed Syrup"));
            productList.Add(new Product(4, "Chef Anton's Gumbo Mix"));
            productList.Add(new Product(5, "Tofu"));
            productList.Add(new Product(null, "Sir Rodney's Marmalade"));
            productList.Add(new Product(6, "Boston Crab Meat"));
            productList.Add(new Product(5, "Chartreuse verte"));
            productList.Add(new Product(2, "Ravioli Angelo"));
            productList.Add(new Product(4, "Perth Pasties"));

            suplierList.Add(new Supplier(1, "Exotic Liquids"));
            suplierList.Add(new Supplier(2, "New Orleans Cajun Delights"));
            suplierList.Add(new Supplier(3, "Tokyo Traders"));
            suplierList.Add(new Supplier(4, "Norske Meierier"));
            suplierList.Add(new Supplier(5, "New England Seafood Cannery"));
            suplierList.Add(new Supplier(6, "Leka Trading"));


            productsBinding = new BindingSource();
            productsBinding.DataSource = productList;
            radBindingNavigator1.BindingSource = productsBinding;
            radDataEntry1.DataSource = productsBinding;
        }

        RadDropDownList radDropDownList1;
        void radDataEntry1_EditorInitializing(object sender, Telerik.WinControls.UI.EditorInitializingEventArgs e)
        {
            if (e.Property.Name == "SupplierID")
            {
                radDropDownList1 = new RadDropDownList();
                radDropDownList1.DataSource = suplierList;
                radDropDownList1.ValueMember = "SupplierID";
                radDropDownList1.DisplayMember = "CompanyName";

                e.Editor = radDropDownList1;
            }
        }

        void radDataEntry1_BindingCreating(object sender, Telerik.WinControls.UI.BindingCreatingEventArgs e)
        {
            if (e.DataMember == "SupplierID")
            {
                e.PropertyName = "SelectedValue";
            }
        }

        void radDataEntry1_BindingCreated(object sender, BindingCreatedEventArgs e)
        {
            if (e.DataMember == "SupplierID")
            {
                e.Binding.FormattingEnabled = true;
                e.Binding.Parse += new ConvertEventHandler(Binding_Parse);
            }
        }

        private void Binding_Parse(object sender, ConvertEventArgs e)
        {
            int tmpvalue;
            int? result = int.TryParse(e.Value.ToString(), out tmpvalue) ? tmpvalue : (int?)null;
            e.Value = result;
        }

        public class Product
        {
            private int? _supplierID;
            private string _productName;
            public Product(int? supplierID, string productName)
            {
                this._supplierID = supplierID;
                this._productName = productName;
            }

            public int? SupplierID
            {
                get
                {
                    return this._supplierID;
                }
                set
                {
                    this._supplierID = value;
                }
            }

            public string ProductName
            {
                get
                {
                    return this._productName;
                }
                set
                {
                    this._productName = value;
                }
            }

           
        }

        public partial class Supplier
        {
            private int? _supplierID;
            private string _companyName;
            public Supplier(int? supplierID, string companyName)
            {
                this._supplierID = supplierID;
                this._companyName = companyName;
            }
            public int? SupplierID
            {
                get
                {
                    return this._supplierID;
                }
                set
                {
                    this._supplierID = value;
                }
            }
            public string CompanyName
            {
                get
                {
                    return this._companyName;
                }
                set
                {
                    this._companyName = value;
                }
            }
        }
    }

Workaround: handle the Shown event of the form and manually sync the the selected item in the editor with a cached initial indexprotected override void OnShown(EventArgs e)
{
    base.OnShown(e);

    this.radDropDownList1.SelectedIndex = initialIndex - 1;
}

Declined
Last Updated: 25 Aug 2016 11:25 by ADMIN
Declined
Last Updated: 04 Jul 2016 09:26 by ADMIN
To reproduce: use the following code snippet and enter in the filter row one of the row values as it is shown in the screenshot:

this.radGridView1.EnableFiltering = true;
GridViewDateTimeColumn dateTimeColumn = new GridViewDateTimeColumn("DateTimeColumn");  
dateTimeColumn.Format = DateTimePickerFormat.Custom;
dateTimeColumn.CustomFormat = "dd/MM/yyyy HH:mm:ss";
radGridView1.MasterTemplate.Columns.Add(dateTimeColumn);
this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

for (int i = 0; i < 10; i++)
{
    this.radGridView1.Rows.Add(DateTime.Now.AddDays(i));
}

Workaround: custom filtering: http://docs.telerik.com/devtools/winforms/gridview/filtering/custom-filtering
Declined
Last Updated: 06 Feb 2017 10:42 by ADMIN
Use attached project to reproduce.

Workarond:
radMultiColumnComboBox1.AutoSize = false;
radMultiColumnComboBox1.MinimumSize = new Size(0, 22);
Declined
Last Updated: 19 Jun 2017 12:41 by ADMIN
To reproduce:
- Add a word, press tab the add another word.
- Export the document using HtmlFormatProvider.
- Import the same document.
- The tab is interpreted like 7 spaces. 
Declined
Last Updated: 06 Feb 2017 09:43 by ADMIN
1. 2 Monitors configured. The primary display is 16:9 (laptop), the second display has an aspect ratio is 16:10 (desktop monitor).
2. move sample Telerik WinForm app to secondary display (desktop monitor)
3. Click on maximize button

Result: Application width is more then monitor size, as result application is truncated from right.

The same happens with "RadControls for WinForms Q1 2010 Demos" which I have installed on my PC
Declined
Last Updated: 17 May 2017 05:15 by ADMIN
To reproduce: please refer to the attached sample project and gif file illustrating the behavior.

Workaround: in order to cancel adding of the new row, you can call the MasterView.TableAddNewRow.CancelAddNewRow method:

private void radGridView1_UserAddingRow(object sender, Telerik.WinControls.UI.GridViewRowCancelEventArgs e)
{
    e.Cancel = true;
    this.radGridView1.MasterView.TableAddNewRow.CancelAddNewRow(); 
    int index = this.radGridView1.Rows.Count;
    this.radGridView1.Rows.Add(index, "Row" + index);
}
Declined
Last Updated: 21 Mar 2018 14:58 by John
To reproduce: please refer to the attached sample project and gif file.

Workaround: this.radTextBox1.MinimumSize = new System.Drawing.Size(0, 25);
or
Use RadTextBoxControl
Declined
Last Updated: 27 Jun 2016 12:11 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 1
Category: Dock
Type: Bug Report
1
Workaround: FloatingWindow.FormElement.TitleBar.CloseButton.Enabled = True
Declined
Last Updated: 19 Jun 2017 12:43 by ADMIN
To reproduce
- Start the attached project press "Add in code"  then "Save"
- The row is still not added to the underlying data table. 

Workaround:
TryCast(Me.radGridView1.Rows.Last().DataBoundItem, IEditableObject).EndEdit()
Declined
Last Updated: 14 Aug 2017 13:11 by ADMIN
To reproduce:
- Add 3 MDI child forms with a lot of gauges.
- Set their WindowState to maximized.
- Show each upon a button click.

Workaround:
Set the state of all forms to normal, before adding a new maximized form.