Unplanned
Last Updated: 01 Aug 2022 08:45 by ADMIN

Repro-steps

  1. Create a RadGridView
  2. Fill it with 8000 rows
  3. Select all rows
  4. Delete all rows and measure the time
  5. Repopulate the same grid with the same 8000 rows
  6. Sort on a column
  7. Select all rows
  8. Delete all rows and measure the time

Expected behavior

  • Both measured times are the same

Observed behavior

  • Deleting rows when a column is sorted take muuuuuuuuch more time

The problem is, after each (!!!) deleted row (not after all deleted rows) the sort-routine kicks in. Sorting all remaining rows. That is 7999 times to many.

One can argue that sorting after deleting something is not required at alle, since the order of the remaining rows (in this case none, but in one cases maybe more) will never change.

I also noticed a HybridIndex is used, possibly to increase performance during adding. Somehow it might hinder performance during deleting stuff.

Unplanned
Last Updated: 02 Aug 2022 12:41 by ADMIN

This bug is not about RadGridView, but about this ticketing system. I simply did not know where to send it.

Repro steps

  1. Go to a ticket with a question/answer with a link inside of it (for example, ticket: https://feedback.telerik.com/winforms/1573736-radgridview-oncreaterowinfo-not-being-called-when-user-is-adding-a-new-row
  2. Write a nice response with bold texts, paragraphs, etc. Do not send it yet.
  3. In the original text, press on the link. You leave the page.
  4. Right now be very scared that you might have lost your answer and press BACK.
  5. You go back to the back where you were writing your answer.

Expected behavior

  • Your answer is still there as it was, including all formatting.

Observed behavior

  • Your answer is still there, but all formatting has been replaced by HTML-tags, and no button or way to convert this HTML to formatted text.
Unplanned
Last Updated: 17 Apr 2024 14:40 by ADMIN

Repro-steps:

  1. Create a RadGridView
  2. MultiSelect = true
  3. SelectionMode = CellSelect
  4. Fill it with lots of cells (in my case: 7 columns, 8544 rows)
  5. Press CTRL-A
  6. Press Delete

Expected behavior:

  • All rows are gone

Observed behavior:

  • 50/50 change that some rows remain.

I traced the problem back to the method GridViewSleectedCellsCollection.IsSelected / GetHashCodeString.

internal bool IsSelected(GridViewRowInfo row, GridViewColumn column) => row != null && column is GridViewDataColumn && this.hashtable.Contains((object) this.GetHashCodeString(row, column));

When a cell is selected with GridViewCellInfo.IsSelected = true, it checks if it has already been selected. It does so by calling GridViewSleectedCellsCollection.IsSelected. which checks if a HasCodeString is already in a hashtable. But, when another selected cell has the same HasCodeString, the result is (incorrectly) true, which will result in not added it to the collection of selected cells. 

I guess that is can be easily fixed by changing:

 private string GetHashCodeString(GridViewRowInfo row, GridViewColumn column)
    {
      int hashCode = row.GetHashCode();
      string str1 = hashCode.ToString();
      hashCode = column.GetHashCode();
      string str2 = hashCode.ToString();
      return str1 + str2;
    }

to:

 private string GetHashCodeString(GridViewRowInfo row, GridViewColumn column)
    {
      int hashCode = row.GetHashCode();
      string str1 = hashCode.ToString();
      hashCode = column.GetHashCode();
      string str2 = hashCode.ToString();
      return str1 + "_" + str2;
    }

Since hashcodes 1 + 23 will result in the same string as hashcodes 12 + 3.

Making this change will reduce the problem significantly, but not entirely since hashCodes will never be unique.

Unplanned
Last Updated: 19 Jul 2022 06:59 by dev

Use the attached sample project.

Sceen 1 (Screen with program shortcuts) on the right in the gif: this screen has display scale 125%

Screen 2 (Screen with the Form) on the left in the gif: this screen has display scale 100%

When all three toolwindows are placed in the forms, there is no issue. The Dropdown list of ToolWindow1 (floating, dockable..) when opened is placed correctly.

If I moved the ToolWindow3 from Screen2 to Screen1 and make it the most recent active window (by clicking on it), I go back to the Screen2 and open the dropdown list of Toolwindow1, this list's position is now wrong and the text size bigger. This is because it takes the display scale (125%) of  the screen where the most recent active toolwindow (ToolWindow3 ) is.

If I popup the ToolWindow2, place it in Screen2 (the same screen with ToolWindow1), make ToolWindow2 the most recent active window, and open the dropdown list of Toolwindow1, this list's position is now correct and the text size normal. This is because it takes the display scale (100%)  of  the screen where the most recent active toolwindow (ToolWindow2 ) is.

Workaround: add app.manifest file and declare the application as DPI aware: 


https://docs.telerik.com/devtools/winforms/telerik-presentation-framework/dpi-support#how-to-enable-hdpi-support-in-your-application   
Unplanned
Last Updated: 08 Jun 2022 10:05 by Clayton
Created by: Clayton
Comments: 0
Category: UI for WinForms
Type: Bug Report
2
RadRichTextEditor: Memory leak on importing plain text
Unplanned
Last Updated: 24 Jan 2022 16:56 by ADMIN
As a workaround, you can hide the items at run time using code.
Unplanned
Last Updated: 07 Dec 2021 11:10 by ADMIN

Write an Appium test that validates radGridViews' empty cell Text

You will see that the Text property contains the following information: "Row x Column y Value z"

x = row of the cell
y = column of the currently selected cell
z = value of the currently selected cell

instead of simply being either null or an empty string.


 

Workaround:

Instead of validating cell[index].Text, validate cell[index].GetAttribute("Value.Value").

Unplanned
Last Updated: 10 Nov 2021 14:41 by ADMIN
Created by: n/a
Comments: 0
Category: UI for WinForms
Type: Bug Report
1

The writing-mode attribute is ignored when rendering RadSvgImage. 
Here is a sample SVG:

<svg width="200" height="200" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
    <text style="font-size:20px;writing-mode:tb;" x="30" y="30">
        Vertical text
    </text>
    <text style="font-size:20px;writing-mode:vertical-lr;" x="50" y="50">
        Text 2
    </text>
</g>
</svg>
RadSvgImage renders horizontal text:


The Edge browser renders it correctly:
image

 

 

Unplanned
Last Updated: 09 Sep 2021 13:50 by ADMIN

1. Create a Winforms application containing RichTextEditorRibbonBar

2. Add a CodedUI test project

3. Start the application and add a new CodedUITest

4. Drag the Spy from the "UIMap - Coded UI Test Builder" onto a disabled radButtonElement - for example "Delete All" button in the "Review" tab

 

You will see that the Enabled property value is true instead of false.

Unplanned
Last Updated: 12 Mar 2021 14:36 by ADMIN
Default FontFamily and FontSize values (Calibri, 11) are not respected during paste, when the normal style of the source document is modified. Those values are replaced with the default values for RadDocument, which are different (Verdana 12)
Unplanned
Last Updated: 26 Aug 2020 09:01 by ADMIN
Created by: Sunny
Comments: 1
Category: UI for WinForms
Type: Bug Report
1

I'm trying to initialize RadControlSpyForm in a .NET 2.0 application and it throws the following exception:

System.InvalidCastException: 'Unable to cast object of type 'System.Windows.Forms.SplitContainer' to type 'System.ComponentModel.ISupportInitialize'.

I did some research, and I found that since SplitContainer doesn't inherit from System.ComponentModel.ISupportInitialize until .NET 4.0, this message shows up in solutions where a project is downgraded from .NET 4.0, but the Form designer isn't regenerated to remove the SplitContainer cast to ISupportInitialize to call BeginInit() and EndInit().

 

Unplanned
Last Updated: 17 Apr 2024 14:33 by ADMIN

UI for WinForms - Latest version.

RadRibbonBarBackstageView - Edit UI Elements

RootRadElement.BackstageViewElement.BackstageItemsPanelElement.BackgroundImage

Click the … button and select your image.

 

To REMOVE this image you SHOULD be able to do the following:

click on the property BackgroundImage which should highlight the image-string completely.

click delete.

done.

What you HAVE to do is this: 

click on the property BackgroundImage.

click delete.

BEFORE YOU LEAVE THIS PROPERTY you have to click the … box

Once the box opens you have to click "Cancel"

 

Right below this property is BackgroundImageLayout - set to "Center"

There's a dropdown arrow presumably to allow you to change the layout but nothing happens when you click it.

 

*Missing Property?*

Whatever image you place in this control it gets stretched and there doesn't appear to be any way to avoid this:

place an image.

run the winforms ap.

set the main form in normal mode (not maximized) and resize the height.

Your image will stretch, shrink...this is not a UI property that should be presumed.  We should be able to set None, Tile, Center, Stretch or Zoom.

 

Still *LOVE* your products :)

Kindest regards,

Curtis Smith 

Unplanned
Last Updated: 28 Apr 2020 11:18 by ADMIN

1. Set the DPI of your main monitor to 150% and the DPI of your secondary monitor to 100%.

2. Start your main form containing RadDataEntry on your secondary monitor.

You will see that that hosted controls inside RadDataEntry are not scaled correctly.

 

Workaround:

Start your main form on your secondary monitor inside OnShown event.

protected override void OnShown(EventArgs e)
{
    base.OnShown(e);

    this.Location = new Point(-800, 100);
}

 

Unplanned
Last Updated: 23 Apr 2020 15:34 by ADMIN
Created by: Tinus
Comments: 0
Category: UI for WinForms
Type: Bug Report
2

1. Set HDPI on your monitor (for example 150%)

2. Set RadDataEntry data source in RunTime

You will see that RadDataEntry hosted controls are not scaled correctly.

Note that there is a related problem if the data source is set in design time. Controls themselves will be scaled correctly, however, text box hosted control's High will not be scaled correctly.

Workaround:
You can subscribe to ItemInitializing event before you set the DataSource and proceed by scaling RadDataEntry hosted controls manually as shown in the following code snipped.

private void radButton1_Click(object sender, EventArgs e)
{
    this.radDataEntry1.ItemInitializing += RadDataEntry1_ItemInitializing;
    this.radDataEntry1.ItemDefaultSize = new Size(200, 26);

    radDataEntry1.DataSource = new Employee
    {
        FirstName = "Sarah",
        LastName = "Blake",
        Occupation = "Supplied Manager",
        StartingDate = new DateTime(2005, 04, 12),
        IsMarried = true,
        Salary = 3500,
        Gender = Gender.Female
    };         
}
private void RadDataEntry1_ItemInitializing(object sender, ItemInitializingEventArgs e)
{
    if (this.radDataEntry1.RootElement.DpiScaleFactor.Width != 1)
    {
        foreach (Control control in e.Panel.Controls)
        {
            control.Scale(this.radDataEntry1.RootElement.DpiScaleFactor);
        }
    }
}

Unplanned
Last Updated: 14 Apr 2020 15:26 by ADMIN

Please refer to the attached sample project and gif file. The ShouldCheckDataRows property of the column is disabled. Hence, the developer will manage the toggle state of the data cells.

There are two problems here:

1. In the HeaderCellToggleStateChanged event we toggle all data rows in correspondence with the header checkbox. Once a data cell value is changed, we set the GridViewCheckBoxColumn.Checked property to Off. However, it is not respected and the header checkbox still remains toggle.

2. Once you scroll the columns horizontally, the header checkbox synchronizes with the value of the GridViewCheckBoxColumn.Checked property. However, all of a sudden the HeaderCellToggleStateChanged event is toggled again even though we didn't clicked the checkbox in the header at all. This will make all data cells unchecked due to the code in the HeaderCellToggleStateChanged event.

Unplanned
Last Updated: 23 Mar 2020 06:50 by ADMIN

1. Create a brand new project and add a ShapedForm.

2. Set the Size to 800,550.

3. Set the FormBorderStyle to FixedToolWindow.

You will notice that at run-time the size is changed to 816, 589.

Workaround:

        public ShapedForm1()
        {
            InitializeComponent();

            this.MaximumSize = new Size(800, 550);
        }

Unplanned
Last Updated: 17 Mar 2020 13:38 by ADMIN
When copy a modified Heading from Word document and paste it into a not empty RadRichTextEditor the modified styles are not correctly imported.
Unplanned
Last Updated: 17 Mar 2020 06:50 by ADMIN

Please refer to the attached gif file for a better illustration of the steps how o reproduce the undesired behavior.

Workaround: use RadForm

Unplanned
Last Updated: 05 Mar 2020 10:03 by ADMIN
Created by: Gilles
Comments: 0
Category: UI for WinForms
Type: Bug Report
0

How to reproduce:

private void RadForm1_Load(object sender, EventArgs e)
{
    this.radWebCam1.TakeSnapshot();
}

Workaround:

public class CustomWebCam : RadWebCam
{
    public override void TakeSnapshot()
    {
        FieldInfo fi = typeof(RadWebCam).GetField("player", BindingFlags.NonPublic | BindingFlags.Instance);
        object value = fi.GetValue(this);

        if (value == null)
        {
            return;
        }

        PropertyInfo propertyInfo = value.GetType().GetProperty("EvrVideoDisplay", BindingFlags.NonPublic | BindingFlags.Instance);
        value = propertyInfo.GetValue(value, null);

        if (value == null)
        {
            return;
        }

        base.TakeSnapshot();
    }
}

Unplanned
Last Updated: 06 Feb 2020 14:01 by ADMIN
Please open the sample document in the Demo application and start scrolling. The attached gif file illustrates the obtained behavior. It is necessary to wait 2-3 seconds to scroll to the correct document's position.