Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

I am rewriting the RadGridViewPaste-mechanism. Therefor I want to call PastingCellClipboardContent-event using the EventDispatcher.CellClipboardPaste. therefor I need the class GridViewCellValueEventArgs. It has two constructors:

  1. A constructor with indexes. If this one is used, properties RowInfo and Column will always be null.
  2. A constructor which accepts a row and column as parameters. All properties are set and usable.

The second constructor is marked as Internal, not Public. 

Request: Can this constructor be made Public?

Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

1. Set ThemeResolutionService.AllowAnimations = false;

2. Run the attached project and set a filter via the GridFilterButton popup

3. Click "Clear filter" option in the GridFilterButton popup

 

You will see that the GirdFilterButton visual indication is of an applied filter. However, there is no applied filter.

Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022
Exception when exporting a document with specific font from Net Core.
Completed
Last Updated: 23 Sep 2022 13:07 by ADMIN
Release R3 2022

ThemeResolutionService.ApplicationThemeName = "Office2019Dark"; this.radDropDownList1.EnableAlternatingItemColor = true;

Unplanned
Last Updated: 16 Sep 2022 10:17 by ADMIN
ADMIN
Created by: Hristo
Comments: 2
Category: UI for WinForms
Type: Feature Request
3
Implement functionality to rotate the text in a cell.
Declined
Last Updated: 03 Aug 2022 10:28 by ADMIN

I have made an override for class GridViewDataRowInfo (called GridViewDataRowInfoPlus)

Every time a new row is created by RadGridView, I expect OnCreateRowInfo to be called, so I can return my own instance of GridViewDataRowInfoPlus.

This goes well until a user enters new data in a new row and when this row is added the grid, OnCreateRowInfo is not being called and an instance of GridViewDataRowInfo is added to the grid.

For me that is unexpected and undesirable. Maybe I am doing it wrong. In that case: What is the correct way to intercept the row-creation-process and return instances of my own type?

Declined
Last Updated: 03 Aug 2022 08:08 by ADMIN

The version of Telerik products is requested as information where submitting a support ticket. In case one forgot the version currently installed, there is no way to find it (may be I am the only one who don't know). Usually most software provide such information in the "About" box. I found it difficult and not very useful that the "About" menu of Telerik connect to the Progress Home Page instead of displaying some useful information about the current installation (user name, version, installed components, license status, etc....). There are already many other actions (request support, online documentation, etc...) that connect to the web site. The "About" box should just be displayed within VS and provide information on the installation. Or at least you link it to the Progress Control Panel and adding a page for information I mentioned and more that user may need to know when needed.

Below is an example from VS.

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: 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.

Completed
Last Updated: 28 Jul 2022 07:58 by ADMIN
Release R3 (LIB 2022.2.711)

Please run the attached sample project, open the drop down and press the down arrow key.

Observed: application hangs

Expected: since all menu items in the drop down are disabled, nothing is expected to happen. However, the application shouldn't hangs.

Workaround:

public class CustomRadDropDownButtonElement : RadDropDownButtonElement
{
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadDropDownButtonElement);
        }
    }
    protected override RadDropDownButtonPopup CreateDropDown()
    {
        return new CustomDropDown(this);
    }
}

public class CustomDropDown : RadDropDownButtonPopup
{
    public CustomDropDown(RadElement ownerElement) : base(ownerElement)
    {
    }

    protected override void EnsureItemEnabled(RadItem item, bool isUp)
    {
        do
        {
            item = this.GetNextItem(item, !isUp);
            if (item == this.Items.Last())
            {
                break;
            }

        } while (!item.Enabled);
        if (item != null)
        {

            this.SelectItem(item);
        }
    }
}

Declined
Last Updated: 20 Jul 2022 11:08 by ADMIN
Created by: Martin
Comments: 3
Category: UI for WinForms
Type: Bug Report
0

Repro steps:

  1. Make a datatable with a string-column with a max. length of 10 characters.
  2. Add a row with a string of max. 10 characters.
  3. Bind it to a RadGridView
  4. Add an event-handler to DataError which will cancel the action if a data error occurs.
  5. In the UI, enter data into the cell. Make it longer than 10 characters.

Expected behavior:

  1. The same behavior as CellValidating.
  2. De user stays inside the editor so it can modify the text.

Observed behavior:

  1. The editor is closed, the new text is not displayed.
Declined
Last Updated: 19 Jul 2022 10:52 by ADMIN

Report steps:

  1. Make a datatable with a string-column with a max. length of 10 characters.
  2. Will the datatable with some data.
  3. Bind it to a RadGridView
  4. In Excel (or another applicatie) create a now table with some strings, this time longer that 10 characters.
  5. Paste this data from Excel to the RadGridView

Expected behavior:

  1. The strings that are to long will either cause an exception or they are truncated.

Observed behavior:

  1. The string with the value that is to long is skipped during pasting.

Extra detail:

In the method MasterGridViewTemplate.PasteDataToRow the next piece is code is located:

if (CurrentView.ViewTemplate.Columns[columnIndex].DataType == typeof(string))
{
    if (column is GridViewTextBoxColumn viewTextBoxColumn && viewTextBoxColumn.MaxLength > 0 && rowData[rowIndex].Length > viewTextBoxColumn.MaxLength)
        obj = rowData[rowIndex].Substring(0, viewTextBoxColumn.MaxLength);
}
The property viewTextBoxColumn.MaxLength returns 32767 (and not 10) which is clearly a related and possibly a separate bug.
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   
Duplicated
Last Updated: 18 Jul 2022 11:48 by ADMIN
Created by: Martin
Comments: 3
Category: UI for WinForms
Type: Bug Report
1

Reproduction steps:

  • Create a new RadPropertyGrid
  • Add an instance of a class with at least one property of type Nullable<int>.
  • The property does not have an DefaultValueAttribute.
  • Make sure that property has the value null.
  • In de UI, the field appears to be empty.
  • In de UI, click on the field to edit it.

Observed behavior:

  • An edit-box appears with the value zero (0).
  • Leaving this field (without entering any digits) sets the property with that 0, which is undesirable.

Expected behavior:

  • An empty edit-box appears, without any digits.
  • Leaving this field (without entering any digits) should keep the property null.
Declined
Last Updated: 12 Jul 2022 13:26 by Martin

When I create a new form-class, which derives from RadFrom, and I override the method OnLoad, then OnLoad is called during construction. This should never happen!

As Microsoft states: "The OnLoad method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class."

See: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.form.onload?view=windowsdesktop-6.0 

The OnLoad method can be used to load controls with data. But these controls are not even initialized, because the method InitializeComponent has not been called yet.

 

Declined
Last Updated: 05 Jul 2022 09:44 by ADMIN
Created by: IT
Comments: 1
Category: UI for WinForms
Type: Bug Report
0

Hi,

An HTTP Request returns me an error in HTML format. Please see img001. This image was capture in debug mode in Visual Studio.

When I want to show a MessageBox or a Label with this HTML, appears like in img002.

Thank you!

The HTML text is:

 

<!doctype html><html lang="en"><head><title>HTTP Status 401 – Unauthorized</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 401 – Unauthorized</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> Unauthorized</p><p><b>Description</b> The request has not been applied because it lacks valid authentication credentials for the target resource.</p><hr class="line" /><h3>Apache Tomcat/8.5.65</h3></body></html>


 

Completed
Last Updated: 10 Jun 2022 08:46 by ADMIN
Release R2 2022 SP1

HI,

 

Exploring the Demo Winforms FilterView component a bug is present.

When you expand several categories ,the automatic Vertical Scroll bar is showed but the "Maximum"  property value is wrong.

You can't see all the items inside. Some items are hidden at bottom.

But if you collapse some category the new "Maximum" values takes the right previous value before collapsing showing more space as expected

I have a workaround to prevent this situation calling CategoryExpandedChanged event.

Firstly I need to call Application.DoEvents() in order to resizing internally by the component all the StackLayoutPanels connaining the Category Items 

After that, I call the private method UpdateScrollBars (Suggested by support) and the ScrollBar takes the right size for its content.

Now I can show all the contained items inside the FilterView panel.

 

FRC

 
public partial class RadForm1 : Telerik.WinControls.UI.RadForm
    {
        public RadForm1()
        {
            InitializeComponent();
            DataTable dt = new DataTable();
            for (int i = 0; i < 20; i++)
            {
                dt.Columns.Add("col" + i, typeof(string));
            }
            for (int i = 0; i < 10; i++)
            {
                DataRow r = dt.NewRow();
                foreach (DataColumn col in dt.Columns)
                {
                    r[col.ColumnName] = Guid.NewGuid().ToString();
                }
                dt.Rows.Add(r);
            }
            this.radFilterView1.DataSource = dt;
          
        }


        private void radFilterView1_CategoryCreated(object sender, Telerik.WinControls.UI.FilterView.FilterViewCategoryCreatedEventArgs e)
        {
            e.Category.ExpandedChanged += Category_ExpandedChanged;
            e.Category.Expanded = false;

        }

        private void Category_ExpandedChanged(object? sender, EventArgs e)
        {
            // You need pass the control to Windows main loop to perform the pending telerik events after property Expanded change in order to resize internally
            // the StackLayoutPanel Containers before calling UpdateScrollBars
            Application.DoEvents();
            // Now your code
            MethodInfo mi = typeof(RadFilterViewElement).GetMethod("UpdateScrollbars", BindingFlags.Instance | BindingFlags.NonPublic);
            mi.Invoke(this.radFilterView1.FilterViewElement, new object[] { this.radFilterView1.FilterViewElement.ElementsPanel.Size });
            // Hide the horizontal scrolll bar
            radFilterView1.FilterViewElement.HorizontalScrollBar.Visibility =ElementVisibility.Collapsed;
        }

    }

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
Completed
Last Updated: 27 May 2022 12:28 by ADMIN
Release R2 2022 SP1

Use a custom font set like this: 

this.radSyntaxEditor1.SyntaxEditorElement.EditorFontFamily = new Telerik.WinControls.SyntaxEditor.UI.FontFamily("Cascadia Code");
this.radSyntaxEditor1.SyntaxEditorElement.EditorFontSize = 13;

Then load a large document, at least 10K lines so that the clipping is visible.

Completed
Last Updated: 19 May 2022 14:24 by ADMIN
Release R2 2022 SP1
Created by: Stoyan
Comments: 0
Category: UI for WinForms
Type: Bug Report
1

The solution in this KB article is used: https://docs.telerik.com/devtools/winforms/knowledge-base/clickonce-application-is-broken 

Follow the steps:

1. Set your main monitor to be with higher than 100% DPI scaling (e.g. 175%, 200%)

2. Set the secondary monitor with 100% DPI scaling.

3. Run the exe from the project on the secondary monitor with 100% DPI scaling. You will notice that all controls that host the standard MS TextBox are incorrectly scaled: