Unplanned
Last Updated: 16 Feb 2024 12:27 by Martin
Created by: Martin
Comments: 4
Category: UI for WinForms
Type: Feature Request
0

I would like to have a generic validation-mechanism, implemented in all controls. Hear me out:

A class ValidationInformation for containing all sort of validation information for a certain field, property, cell, etc. which has properties likes:

  • Type DataType
  • object MinValue
  • object MaxValue
  • int? MinLength
  • int? MaxLength
  • bool IsRequired
  • RegEx Mask
  • etc.

It also has a virtual method like bool Validate(object entity, object value, out string validationError).

A base class ValidationInformationProvider for retrieving validation information from various sources. It has some abstract methods for retrieval, storing/caching information per cell/field/property.

This base class has the following subclasses:

  • ValidationInformationProviderFromDataTable
  • ValidationInformationProviderFromAnnotations
  • ValidationInformationProviderFromXXX

Each provider is responsible for reading validation information from the source (DataTable, annotations on a property, etc.) and fill a ValidationInformation object.

Now the fun begins...

Each Telerik class, like RadGridView and/or subcomponents should get a method or event to retrieve ValidationInformation. When the event is not handled or the method returns null, the default behavior kicks in.

When ValidationInformation is provided, default behavior is overridden. Properties of editors van be set with values from ValidationInformation (like Minimum and Maximum of a GridViewDecimalColumnPlus or RadSpinEditorElement). At the end if editing the method ValidationInformation.Validate is called to validate the new value. The validation error can be used for popups, or tooltips, or an exception. 

This way a user does not have to think where to set which property of any Telerik control for any validation. This way a RadPropertyGrid and RadGridView can work the same way when it comes to data validation, regardless of all editors which work in the background. 

Unplanned
Last Updated: 08 Feb 2024 12:19 by Al

In the image below you can notice lines that disappear, identical lines but rendered more or less thick.

Declined
Last Updated: 07 Feb 2024 13:05 by ADMIN

Hi Dinko and Team,

As I mentioned in the previous forum, We need fix for Raddropdownlist.SelectedIndex.

When we set SelectedIndex=5 or some value in selectedIndexchangedEvent then the recursive call is happening for SelectedIndex. So we need to restrict the recursive call for both Raddropdownlist.DataSource as well as Raddropdownlist.SelectedIdex.

  private void radDropDownList1_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
           fillIndustryProcess1(); // radDropDownList1.DataSource = dt; when we set Datasource the recursive call is occurring
            radDropDownList1.SelectedIdex = 5; // radDropDownList1.SelectedIdex= 5; when we set Datasource the recursive call is occurring

}

public void fillIndustryProcess1()
        {
            try
            {
                System.Data.DataTable dt = new System.Data.DataTable();
                if (dt.Columns.Count > 0)
                    {
                        dt.Columns.Add("Industry", typeof(string));
                        dt.Columns.Add("ID", typeof(int));
                        dt.Rows.Add("BGL-0", 0);
                        dt.Rows.Add("BGL-1", 1);
                        dt.Rows.Add("BGL-2", 2);
                        dt.Rows.Add("BGL-3", 3);
                        dt.Rows.Add("BGL-4", 4);
                        radDropDownList1.DisplayMember = "Industry";
                        radDropDownList1.ValueMember = "ID";
                    }
                radDropDownList1.DataSource = dt;// Recursive call occurs
                radDropDownList1.SelectedIndex = 0;/ Recursive call occurs
            }
            catch (System.ComponentModel.Win32Exception ex)
            {
                throw ex;
            }
        }

Old Forums in which , Telerik team fixed the RadDropDownList .SelectedValue.

Telerick version 2023.1.314 RadDropDownList controls throwing StackoverflowException when migrating visual studio 2010 to 2022 in UI for WinForms | Telerik Forums 

Previous forums in which , Telerik team yet to fix for RadDropDownList.Datasource.

Telerick version 2024.1.130.48, RadDropDownList controls throwing StackoverflowException when migrating visual studio 2010 to 2022 in UI for WinForms | Telerik Forums

Thanks,

Maheswari

Declined
Last Updated: 05 Feb 2024 07:24 by ADMIN
Created by: Dominik
Comments: 4
Category: UI for WinForms
Type: Bug Report
0

Hello support,

here is what happend:

I created a RadFrom with controlls on it.

Then i add it to my RadDock like this:


private void Add_RadForm_asDocument_ToRadDock(RadDock rd, HostWindow hw, object radform, string title)
{
    bool found = false;

    foreach (var item in radDock_main_notr.DockWindows)
    {
        if (item.GetType() == typeof(HostWindow))
        {
            if (((HostWindow)item).Name == radform.GetType().Name + "1")
            {
                found = true;
                hw = (HostWindow)item;
            }
        }
    }

    if (found == false && radform != null)
    {
        if (hw == null || hw.Text == "")
        {
            hw = rd.DockControl((System.Windows.Forms.Control)radform, DockPosition.Fill, DockType.Document);
        }
    }

    hw.Text = title;
    hw.CloseAction = DockWindowCloseAction.Close;
    hw.ToolCaptionButtons = ToolStripCaptionButtons.None;
    hw.Select();
}

The RadFrom is added to the RadDock:

Settings is the new RadFrom thats now docked.
But when i try to use the RadDropDownList then its "stucks" (also the other GUI controls):

The  changed selection of the RadDropDownList will not change.
When i close the RadForm via the "x" and eropen it again it works.

 

 

Unplanned
Last Updated: 02 Feb 2024 13:31 by ADMIN
Dynamically adding command bar buttons to a control inside a popup window may cause layout issue.
Completed
Last Updated: 31 Jan 2024 11:39 by ADMIN
Release 2024 Q1 (2024.1.130)
Created by: Youssef
Comments: 0
Category: UI for WinForms
Type: Feature Request
0
Create a Compact Windows 11 theme that can be used in existing applications with non-touch themes. 
Completed
Last Updated: 31 Jan 2024 11:39 by ADMIN
Release 2024 Q1 (2024.1.130)
Created by: Martin
Comments: 13
Category: UI for WinForms
Type: Feature Request
1

We work with a RadGridView with 145000 rows and 4 columns. We use copy-paste to move data around from other apps and the application with build with Telerik.

When we copy a flat file (with tabs delimited fields) and we paste it to the RadGridView, the whole process is painfully slow. The function to retrieve the data from the clipboard takes minutes (maybe hours, I cancelled it). It tracked the cause down to the StringTokenizer class. The tokenizer splits the string up into separate fields. But after extracting a field it creates a new copy of that string (containing about 10MB of data) minus the field. I patched it (with HarmonyX) and now it takes only one second:

static class StringTokenizerPerformancePatch { static private readonly InstanceFieldAccessor<StringTokenizer, LinkedList<string>> _tokens = new InstanceFieldAccessor< StringTokenizer, LinkedList<string>>("tokens"); static private readonly InstanceFieldAccessor<StringTokenizer, string> _sourceString = new InstanceFieldAccessor<StringTokenizer, string>("sourceString"); static private readonly InstanceFieldAccessor< StringTokenizer, string> _delimiter = new InstanceFieldAccessor<StringTokenizer, string>("delimiter"); static private readonly InstanceFieldAccessor< StringTokenizer, IEnumerator<string>> _enumerator = new InstanceFieldAccessor<StringTokenizer, IEnumerator<string>>("enumerator"); [HarmonyPatch(typeof(StringTokenizer), "Tokenize")] staticclassPatch_StringTokenizer_Tokenize { static bool Prefix(StringTokenizer __instance) { var tokens = _tokens.GetValue(__instance); var sourceString = _sourceString.GetValue(__instance); var delimiter = _delimiter.GetValue(__instance); Tokenize(tokens, sourceString, delimiter); _enumerator.SetValue(__instance, tokens.GetEnumerator()); returnfalse; } static private void Tokenize(LinkedList<string> tokens, string text, string delimiter) { tokens.Clear(); if (string.IsNullOrEmpty(text)) return; int index = 0; while(true) { var index2 = text.IndexOf(delimiter, index, StringComparison.Ordinal); if (index2 < 0) { tokens.AddLast(text.Substring(index)); break; } string token = text.Substring(index, index2 - index); tokens.AddLast(token); index = index2 + delimiter.Length; } } } }

Please update your tokanizer to increase performance. While you are at it:
  • If delimiters are one character, why not use String.Split?
  • Why use a LinkedList?
Unplanned
Last Updated: 30 Jan 2024 14:14 by ADMIN
To reproduce setup a column ColumnGroupViewDefinition, set RightToLeft mode of the grid and export it using the GridViewPdfExport class.
You will see that in the exported PDF document the columns and column groups are in Left-To-Right order.
Unplanned
Last Updated: 29 Jan 2024 15:46 by ADMIN

In the exported PDF document, the font size of the header and footer is smaller than the font of the data cells, even though the specified font is the same size.
To reproduce set the same font to the header and data cells:

pdfExport.HeaderFont.Font = new Font("Segoe UI", 10f);

private void PdfExport_CellFormatting(object sender, PdfExportCellFormattingEventArgs e)
{
    e.CellElement.Font = new Font("Segoe UI", 10f); 
}

Unplanned
Last Updated: 16 Nov 2023 13:46 by ADMIN

It would be great if there were a right-click menu option for custom Rad controls to "apply the theme to all sub-controls", similar to how Forms work.

I've attached images to illustrate the functionality.

Right now it only works for forms, and my custom controls have to be manually adjusted one at a time, by hand, which is time consuming and error prone.

It would save a lot of time and reduce the chance of missing a control when applying themes locally.

Right now the only way to apply themes is either globally or individually by hand, or with a find-replace-in-files command on the ThemeName property.

Completed
Last Updated: 01 Nov 2023 12:53 by ADMIN
Release R3 2023 (LIB 2023.3.1101)

To reproduce RadGridView (or other RadControl) flooding WM_TIMER messages do the following

1. Create a simple WinForms project with a RadGridView in it.

2. Open spy++ tool (it comes with Visual Studio).

3. Attach the process that is running the WinForms and choose to display its messages.

4. You should now see a lot of WM_TIMER messages as shown in the gif file.

Unplanned
Last Updated: 24 Oct 2023 13:30 by ADMIN
Created by: Adrian
Comments: 1
Category: UI for WinForms
Type: Feature Request
0

Hello,

Our product uses Infragistics controls. We have been in business for 21 years and since then we have been using Infragistics controls for WinForms. We would like to move to Telerik controls for WinForms, even though we already use Telerik controls for Blazor. Is there an easy way to convert them? Is there any plan to release a tool to convert them automatically? It will be very helpful and I am sure many companies are interested as well.   

 

Thank you

 

 

Completed
Last Updated: 11 Oct 2023 10:09 by ADMIN
Release R3 2023
Created by: Stoyan
Comments: 4
Category: UI for WinForms
Type: Feature Request
4
A control that can be used to display an icon in the Windows taskbar notification area.
Unplanned
Last Updated: 29 Sep 2023 09:36 by ADMIN

Using Telerik button and dropdown beside and anchored to a standard label or textbox then, when run app in a Win 11 in Korean, the presentation is not correct.

Expected result:

Observed result:

Unplanned
Last Updated: 21 Sep 2023 09:59 by ADMIN
  • Control Structure Pane - For example, RadForm has a RadTitleBarElement, which contains no styles, because they are inherited from the RadTitleBar control. Here we can add a note, which says from which control the styles are inherited:
  • Design / Preview Pane - Click on an element from the Design view and select it into the control element tree.
  • Elements Pane - Add an option to expand all sub-nodes in the Control Structure tree. Save the setting for the filter chosen by the user.
  • Find repository usages: Add an option to expand all sub-nodes.
  • Repositories - Sort applied repositories on top or in another list. Currently, we can see all the applied only when we click "Show only applied repositories".
  • Repositories - Add an option to filter the repositories by type(font, fill, border, image, and so on). Currently, we can filter them only by name.
Unplanned
Last Updated: 15 Sep 2023 11:01 by ADMIN
Created by: Petya
Comments: 1
Category: UI for WinForms
Type: Feature Request
3
Implement interactive API Reference in the form of a class hierarchy diagram. Allow navigation to the base classes or implemented interfaces, as well as to any child members. Include the API documentation of each member/class, so that users can quickly navigate the API on the site. 
Declined
Last Updated: 15 Sep 2023 10:58 by ADMIN
Created by: Peter
Comments: 1
Category: UI for WinForms
Type: Feature Request
0

Dear,

I wonder if it is possible to consult the release history by product & control & version, next to the (already existing) release history by product & version & control?

This feature has benifits:

  • see how a given control evolves in time
  • quickly find if a bug/feature has been implemented by control

This request can be applied for all your products.

Kind regards,

Peter

Declined
Last Updated: 15 Sep 2023 10:57 by ADMIN
Created by: Balázs
Comments: 1
Category: UI for WinForms
Type: Bug Report
0

Dear Telerik Team!

Even though your components are one of my favourite 3rd party tools that I use in software development for years now; I have to rise a bug ticket for component called "TelerikMultiSelect". The problem is that when the autocomplete box's data source is updated for the first time using a timer's event the autocomplete box remains empty and I have to click outside and the inside of the input again.

Please consider investigating and fixing this issue.

 

Kind Regards,

Balázs Koncz

Declined
Last Updated: 15 Sep 2023 10:55 by ADMIN
Created by: kieran
Comments: 1
Category: UI for WinForms
Type: Feature Request
2

Hi guys,

              It would be great to be able to set the day start/finish times in your Scheduler.

Your Scheduler control is fantastic, but I am building a Scheduler for a company that operates over 24hrs and the shift hours are

6am - 6pm

6pm - 6am

both shifts are classed as being the same day even though the nightshift crosses over to the next day.

 

I would like to be able to adjust the 24hr period that defines a day so that in month view the appointment will not carry over to the next shift.

and in day view, the schedule will start at 6am and go through to 6am.

If you could implement this, your scheduler control would be even more powerful and awesome.

Thanks!

Declined
Last Updated: 15 Sep 2023 10:54 by ADMIN
Created by: Mark
Comments: 3
Category: UI for WinForms
Type: Feature Request
0
Have the ability to embed the colour picker in our own forms, with onChange event