Declined
Last Updated: 22 Apr 2024 14:19 by ADMIN

 

I'm a Progress OpenEdge developer and found issue with RadGridView using it in a ABL application. I have been able to reproduce the issue outside of the OpenEdge environment, and have attached a project file.

 

To see the issue, run the app, and scroll down really quickly with scrollbar thumb to the bottom.

You will then get:

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Telerik.WinControls.GridView
  StackTrace:
   at Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(GridViewRowInfo row, GridViewColumn column)

                       

Call Stack when I'm in my project:

> WindowsFormsApp1_NetFramework.exe!Progress.Data.DataSource.FillCacheFromPVMSource(Progress.Data.CacheRow cacheRow, int rowIx) Line 579 C#
WindowsFormsApp1_NetFramework.exe!Progress.Data.DataSource.GetRowError(int rowIx) Line 651 C#
WindowsFormsApp1_NetFramework.exe!Progress.Data.DummyRow.Error.get() Line 1347 C#
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridViewRowInfo.ErrorText.get() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridDataRowElement.UpdateInfo() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.Initialize(Telerik.WinControls.UI.GridViewRowInfo rowInfo) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.Attach(Telerik.WinControls.UI.GridViewRowInfo row, object context) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.UpdateElement(int position, Telerik.WinControls.UI.GridViewRowInfo data) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.UpdateElement(int position, Telerik.WinControls.UI.GridViewRowInfo data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout() Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayoutCallback(Telerik.WinControls.Layouts.ILayoutManager manager) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args) Line 123 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 917 C#

 

                                                   

Once I relinguish control back to Telerik, I get:

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Telerik.WinControls.GridView
  StackTrace:
   at Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(GridViewRowInfo row, GridViewColumn column)


Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(Telerik.WinControls.UI.GridViewRowInfo row, Telerik.WinControls.UI.GridViewColumn column) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ExpressionAccessor.this[Telerik.WinControls.UI.GridViewRowInfo].get(Telerik.WinControls.UI.GridViewRowInfo row) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridViewRowInfo.this[Telerik.WinControls.UI.GridViewColumn].get(Telerik.WinControls.UI.GridViewColumn column) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridDataCellElement.Value.get() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridCellElement.SetContent() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedCellElement.Initialize(Telerik.WinControls.UI.GridViewColumn column, Telerik.WinControls.UI.GridRowElement row) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedCellElement.Attach(Telerik.WinControls.UI.GridViewColumn data, object context) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.InsertElement(int position, Telerik.WinControls.UI.IVirtualizedElement<Telerik.WinControls.UI.GridViewColumn> element, Telerik.WinControls.UI.GridViewColumn data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.UpdateElement(int position, Telerik.WinControls.UI.GridViewColumn data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedRowElement.MeasureElements(System.Drawing.SizeF availableSize, System.Drawing.SizeF clientSize, System.Windows.Forms.Padding borderThickness) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.LightVisualElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.VirtualizedStackContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElementCore(Telerik.WinControls.RadElement element, System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureElementCore(Telerik.WinControls.RadElement element, System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.VirtualizedStackContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElement(Telerik.WinControls.UI.IVirtualizedElement<Telerik.WinControls.UI.GridViewRowInfo> element) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout() Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayoutCallback(Telerik.WinControls.Layouts.ILayoutManager manager) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args) Line 123 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 917 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallback(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbacks() Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadControl.WndProc(ref System.Windows.Forms.Message m) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.RadGridView.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(System.IntPtr dwComponentID, int reason, int pvLoopData) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason, System.Windows.Forms.ApplicationContext context) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm) Unknown
> WindowsFormsApp1_NetFramework.exe!WindowsFormsApp1_NetFramework.Program.Main() Line 19 C#

 

/////////////////////////////////////////////////////////////////////////////////////////////////

The following notes will explain what we are doing, since it may not be typical.

 

The MaxDataGuess functionality offers a time-saving alternative for the OpenEdge BindingSource that binds to a query with 
a very large result set. 
Some .NET controls must know the number of records in the result set when they initialize. 
By default, the ProBindingSource counts the records by reading the records in the query's result set, which can be time-consuming for large 
result sets. Setting this property provides the .NET control with an estimated value to bypass the counting process.
Sometimes, the result list can contain tens of thousands records, so this functionality would be used for that use case.


The project that demonstrates the issue found with the Telerik GridView is a much simpler version of the actual OpenEdge implementation.
The Progress.Data.DataSource._actualNumberOfRecords property is just a hard coded value that takes the place of the ABL query result set list,
since this project does not include the OpenEdge specific code.

The internal implementation of the MaxDataGuess in this project is as follows:

The DataSource.Count property is originally set to 50.
See Form1.cs:  pbs = new Progress.Data.BindingSource(myDataTable, maxDataGuess);


Once user scrolls through rows close to the Count property,  the routine CheckForOffEnd() is called 
(triggered by IDataErrorInfo.Error property).
If it determines that we are close to "current" end of rows, it adds 100 more rows calling
OnListChanged(new ListChangedEventArgs(ListChangedType.ItemAdded, ix));
to notify the grid control that we've update the Count property.

The routine FillCacheFromPVMSource() is called to fill in the CacheRow param for the specified rowIx.
The exception comes into play when the rowIx is greater than the current Count property.
If this is the case, then FillCacheFromPVMSource() updates the Count property, and also calls
OnListChanged(new ListChangedEventArgs(ListChangedType.ItemDeleted, ix));
when adjusting the Count property to notify the Telerik grid.

The exception occurs when control passes back to the Telerik code. 
The rowIx is no longer valid, and the Telerik grid does not check for this.


We get the following System.NullReferenceException:

'Object reference not set to an instance of an object.'

 

Declined
Last Updated: 03 Apr 2024 15:24 by Sagar
Created by: Sagar
Comments: 4
Category: UI for WinForms
Type: Bug Report
0
# Vulnerability Report: Account Takeover via Email Change Functionality

## Summary:
During security testing of the email change functionality on the Telerik website, it was discovered that the application can be vulnerable to an account takeover attack. The vulnerability allows an attacker to change the email address associated with an account to their own email address, effectively taking over the victim's account.

## Vulnerability Details:
- **Functionality Description:**
  - The Telerik website provides a functionality for users to request a change in their email address.
  - This functionality consists of two sections: current email and new email.
  - The current email is not accessible from the user interface, while the new email can be inputted by the user.
  - After inputting the new email and clicking the "Change Email" button, the user's request is processed.

- **Attack Scenario:**
  1. **Attacker Inputs Their Email:** The attacker inputs their own email address in the new email section.
  2. **Intercepting the Request:** Using interception tools, the attacker intercepts the request before it is sent to the server.
  3. **Modifying the Request:** The attacker modifies the request to replace their own email address with the victim's email address in the current email section.
  4. **Consent Form Manipulation:** Additionally, the attacker can manipulate the consent form associated with the email change request to gain access to the victim's account without their consent.
  5. **Changing the Email Address:** The modified request is forwarded to the server, resulting in the victim's email address being changed to the attacker's email address.



## Impact:
- **Account Takeover:** The vulnerability allows an attacker to take over the victim's account by changing the email address associated with it.
- **Data Access:** Once the attacker gains access to the victim's account, they may have unauthorized access to sensitive data and functionalities associated with the account.

## Mitigation Recommendations:
- **Input Validation:** Implement strict input validation to ensure that only legitimate email addresses are accepted in the new email section.
- **Consent Verification:** Require additional verification steps, such as email confirmation or user authentication, before processing email change requests.
- **Session Management:** Implement session management mechanisms to detect and prevent unauthorized access to account settings and functionalities.
- **Security Awareness:** Educate users about the risks of phishing attacks and social engineering tactics used by attackers to gain unauthorized access to accounts.

## Affected URL:
- Email Change Functionality: [https://www.telerik.com/account/support-center/email-change](https://www.telerik.com/account/support-center/email-change)

## Conclusion:
The discovered vulnerability poses a significant security risk to Telerik website users by allowing attackers to take over accounts through manipulation of the email change functionality. It is imperative for the development team to address this vulnerability promptly by implementing appropriate security controls and mitigations to safeguard user accounts from unauthorized access.

**Best Regards,**
Sagar Dhoot
Declined
Last Updated: 20 Feb 2024 12:26 by ADMIN

Hi- When I add a Rad context menu to a RadToolbarForm, the toolbar vanishes from the designer after a build.  This is new behavior because I have other context menus that I had previously added to the form.  If I drag a RadContextMenu from the toolkit, or I copy/paste an existing context menu, the toolbar disappears after a build.  I am running the latest release (2024.1.130) and toolkit config (although this also happens when running the previous Telerik release)

I tried closing the designer before the build and the toolbar still disappears.  Doing a Clean before build has no effect.  This form is inherited from a simple RadToolbar form (no controls except the toolbar).  The toolbar is still listed in the list of controls for the form

Ha!  Just found out what's happening.  It's deleting the toolbar configuration code from the designer code.  Everything below is gone.  If I add it back in, then do anything with the new context menu, like rename it, it gets removed again

            // 
            // RadToolbarFormControl1
            // 
            RadToolbarFormControl1.AutoSize = false;
            RadToolbarFormControl1.CenterItems.AddRange(new Telerik.WinControls.RadItem[] { RadLabelElement1, RadButtonElement_Task_New, RadButtonElement_Task_Edit, RadButtonElement_Task_Delete, RadCheckBoxElement_ShowCompleted });
            RadToolbarFormControl1.CenterItemsVerticalAlignment = Telerik.WinControls.UI.RadVerticalAlignment.Bottom;
            RadToolbarFormControl1.FarItems.AddRange(new Telerik.WinControls.RadItem[] { RadLabelElement_WorkHours, RadLabelElement_Work_StartDate, RadLabelElement_Work_EndDate, RadButtonElement_SelectDates, RadButtonElement_Invoices, RadButtonElement_Summary });
            RadToolbarFormControl1.NearItems.AddRange(new Telerik.WinControls.RadItem[] { RadLabelElement2, RadLabelElement_Projects, RadButtonElement_New, RadButtonElement_Edit, RadButtonElement_Delete, RadButtonElement_Refresh });
            RadToolbarFormControl1.ShowText = false;
            RadToolbarFormControl1.Size = new Size(1804, 52);

 

Here's my dev environment:

Microsoft Visual Studio Community 2022
Version 17.8.7
VisualStudio.17.Release/17.8.7+34601.278
Microsoft .NET Framework
Version 4.8.09037

Installed Version: Community

ActiveReports 16   16.3.1.0
The first report writer for Microsoft .NET

ASP.NET and Web Tools   17.8.358.6298
ASP.NET and Web Tools

Azure App Service Tools v3.0.0   17.8.358.6298
Azure App Service Tools v3.0.0

C# Tools   4.8.0-7.23572.1+7b75981cf3bd520b86ec4ed00ec156c8bc48e4eb
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Code Converter   1.0
Code Converter Extension Details

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

NuGet Package Manager   6.8.1
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

Progress Telerik UI for WinForms Extension   2023.3.1110.93
ProgressĀ® TelerikĀ® UI for WinForms Extension

TypeScript Tools   17.0.20920.2001
TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools   4.8.0-7.23572.1+7b75981cf3bd520b86ec4ed00ec156c8bc48e4eb
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools   17.8.0-beta.23475.2+10f956e631a1efc0f7f5e49c626c494cd32b1f50
Microsoft Visual F# Tools

Visual Studio IntelliCode   2.2
AI-assisted development for Visual Studio.

 

Declined
Last Updated: 01 Mar 2024 13:13 by ADMIN

PerformClick method of RadButtonElement is sending next error:

System.InvalidCastException: 'Unable to cast object of type 'System.EventArgs' to type 'System.Windows.Forms.MouseEventArgs'.

Find my code below:

private void btnAddField_Click(object sender, EventArgs e)
{
    RadDiagramShape sourceShape = new RadDiagramShape()
    {
        Text = "source",
        Shape = new RoundRectShape(5),
        BackColor = Color.Red
    };

    sourceShape.Position = new Telerik.Windows.Diagrams.Core.Point(150, 100);
    radDiagram.AddShape(sourceShape);

    sourceShape.IsSelected = true;
    RadButtonElement additionalContent = Telerik.WinControls.UI.Diagrams.Primitives.ItemInformationAdorner.GetAdditionalContent(
                                            this.radDiagram.DiagramElement.ItemInformationAdorner) as RadButtonElement;

    additionalContent.PerformClick();
}

What I want is to display the SettingsPane automatically when adding a RadDiagramShape item in a RadDiagram

Regards

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.

 

 

Declined
Last Updated: 27 Jul 2023 12:43 by ADMIN
When the FreeFormDateTime mask type is used with the RadDateTimeEditor, the Validate method is not called again after entering an invalid value. Even if we type a valid date afterward, the control rollback to the previous value of the cell.
Declined
Last Updated: 16 Jun 2023 13:47 by ADMIN

When setting the theme to a "touch/material" theme the padding & RadRibbonBar size increases.

 

When switching to a theme that isn't this type the spacing remains.

 

Non "touch/material" theme originally

 

 

Switch to "touch/material" theme

 

 

Switching back to a non "touch/material" theme

 

 

When testing this in the Telerik Theme Viewer when switching from a "touch/material" theme to a non "touch/material" type a message box instructing application restart is required is returned.

Declined
Last Updated: 20 Apr 2023 12:54 by ADMIN

Copy some text from the introduction docs page:

Paste in RadRichTextEditor from the Demo app:

 

Declined
Last Updated: 16 Feb 2024 20:33 by ADMIN
Created by: James
Comments: 2
Category: UI for WinForms
Type: Bug Report
0

Zooming in will throw an Exception that crashes the program.

The ZoomLevel needed to cause the exception is dependent on the area of the RadMap selected.

Provider: BingRestMapProvider

ImagerySet AerialWithLabelsOnDemand

 

 

Zooming in over Antarctica, Exception thrown zooming in at MapElement.ZoomLevel 14.

 

Zooming in over Australia, Exception thrown zooming in at MapElement.ZoomLevel 21.

 

Declined
Last Updated: 15 Sep 2023 10:54 by ADMIN

Repro steps:

  1. Create a RadVirtualGrid
  2. Give it a DateTime column
  3. Make sure the editor (VirtualGridDateTimeEditor) accepts dutch formats for dates (dd-MM-yyyy)
  4. Add a row with value: 30-11-2023

  5. Double click on the value and try to change it my literally typing: "31-12-2023"

Observed behavior:

  • A field with the value 01-12-2023

    (this happens as soon as you type "31")
  • The user needs to first enter the month, then the day to correct this.

Expected behavior:

  • A field with the value: 31-12-2023

Observation / suggestion:

  • The controle tries to validate and correct EVERY input, even when the input is not finished yet. Everybody knows "31-11-2023" is an incorrect value. But during changing it, this should not matter. The scope at that point should be: Making the user happy by accepting the input. When the user leaves the field, or enters the last digit, validation should take place. Or, if halfway entering the value, the totale date is invalid, do not change it and wait for the user to complete.

 

Declined
Last Updated: 19 Jan 2023 16:23 by ADMIN
Created by: kultman
Comments: 1
Category: UI for WinForms
Type: Bug Report
0
The extension (which also keeps load times high) is prompting me about an expired subscription. We had a 2 seat and a 1 seat subscription. We now only need 2 seats and let the 1 seat expire. But I'm using the 2 seat active subscription. So stop bugging me about the expired 1 seat please :)
Declined
Last Updated: 16 Feb 2024 19:44 by ADMIN
Created by: kieran
Comments: 2
Category: TimePicker
Type: Bug Report
0

Hi there.

Selecting a time from the TimePicker sets the time.  However, if the bound parameter is null, the Date part of the DateTime values are still invalid and will throw errors when saving data to databases.

The TimePicker should at least by default insert a default valid Date even if it is 01/01/1900 or DateTime.Today.

Regards Kieran.

 

Declined
Last Updated: 16 Feb 2024 22:25 by ADMIN

I can't provide a project or even code snippets that would make sense out of context because the code base is too complex for an easy replication to be setup.

We are trying various things like calling Refresh, Update.

 

Hoping this is something you've encountered before and have some suggestions.

Declined
Last Updated: 16 Feb 2024 12:35 by ADMIN

1. Select the ColorBox's ellipses to open the Color Dialog

2. Select the Web tab

3. Select Any colour in this Page

4. Select Transparent

Colour will update

5. Select the Professional tab

6. Select any colour

Colour won't update

7. Select any colour

Colour won't update

8. Select OK on Dialog

Colour will be transparent

Values will be same as selected in step 7

Declined
Last Updated: 16 Feb 2024 22:24 by ADMIN

C#. net core 6, winforms application, TekerikNuGet3 package source, UI.for.WinForms.AllControls.NetCore package 2022.2.622

I am trying to export selected cells from a RadGridView as a csv file.

When using "var exporter = new ExportToCSV(Dgv)" then "exporter.RunExport(fileName);" writes the csv file correctly. It exports every cell.

It doesn't support exporting selections so I wrote a function to do this . The one below is what I used in my project to test what I was doing. It initially writes the csv to a worksheet and wrote that using formatprovider to file, then I just created a stringbuilder adding quotes and appended that to the file afterwards.

Writing the worksheet, the csv values haven't been quoted, plus number fields have had leading zeros removed which proves to be a problem when telephone numbers are stored in a field.

So I googled and found the Settings property which is there to set csv options. But they are private, not public therefore I can't set up the csv propertly.

private void radButton1_Click(object sender, EventArgs e)
  {

    var workbook = new Workbook();
    var worksheet = workbook.Worksheets.Add();

    var rowIndex = 0;
    var columnIndex = -1;
    var sb = new StringBuilder();
    var prevColumnIndex = -1;

    // ForEach cell are accessed vertically then horizontally.
    foreach (var cell in Dgv.SelectedCells)
    {
      // Cell is included in selection even if it's invisible
      // so check visibility and ignore if it isnt
      if (!cell.ColumnInfo.IsVisible) continue;

      // At bottom of column, rownum will change. Watch for this
      // and reset x and y values
      var rowNum = cell.RowInfo.Index;
      if (rowNum != prevColumnIndex)
      {
        prevColumnIndex = rowNum;
        rowIndex = 0;
        columnIndex++;
        sb.AppendLine("");
      }
      else if (!string.IsNullOrEmpty(sb.ToString()))
        sb.Append(",");

      var value = cell.Value;
      worksheet.Cells[columnIndex, rowIndex++ ].SetValue(value.ToString());
      sb.Append($"\"{value.ToString()}\"");
    }

    var fileName = @"C:\temp\SampleFile.csv";

    IWorkbookFormatProvider formatProvider = new CsvFormatProvider();
    using var output = new FileStream(fileName, FileMode.Create);
    formatProvider.Export(workbook, output);
    output.Close();

    // Write contents of sb to the file for comparison sake
    File.AppendAllText(fileName, sb.ToString());

  }

Declined
Last Updated: 16 Feb 2024 22:22 by ADMIN

I just upgraded to the latest version of Telerik products and facing the issues described below.

When dragging and drop Telerik UI objects from the toolbar on a form, the dialog box below is displayed with question but there is no button to click to answer the question and I don't where to stop it.

See screenshot attached.

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: 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.
1 2 3 4 5 6