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

 

Unplanned
Last Updated: 22 Apr 2024 10:05 by ADMIN

 this.toolWindow1.TabStrip.MinimumSize = new Size(200,200)

 

 

 

Duplicated
Last Updated: 22 Apr 2024 04:47 by lavanya
Created by: James William
Comments: 2
Category: TextBoxControl
Type: Bug Report
0

I noticed a weird issue with the RadTextBoxControl when using a combination of word wrap and multiline.

If the text that is being wrapped is too close to the edge of the control, the selection highlight renders incorrectly.

Here is an example:

I have attached a sample to reproduce the issue.

Unplanned
Last Updated: 18 Apr 2024 07:15 by ADMIN

To reproduce:

        ThemeResolutionService.ApplicationThemeName = "Windows11"

        Dim UserGroup As New DescriptionTextListDataItem
        With UserGroup
            .Text = "Admins"
            '.Font = New Font("Microsoft Sans Serif", 9.75, FontStyle.Bold)
            .DescriptionText = "System Administrations Group"
        End With
        Me.RadListControl1.Items.Add(UserGroup)
        Me.RadListControl1.ItemHeight = 50

Actual result:

Expected result:

Unplanned
Last Updated: 17 Apr 2024 14:46 by ADMIN
Use attached to reproduce:
- Disable and then enable the RadSateTimePicker
- You will notice that even the checkbox is unchecked the control is enabled. 

Workaround:

radDateTimePicker1.Enabled =true;
if (!radDateTimePicker1.DateTimePickerElement.Checked)
{
    radDateTimePicker1.DateTimePickerElement.TextBoxElement.TextBoxItem.HostedControl.Enabled = false;
}
Unplanned
Last Updated: 17 Apr 2024 14:46 by ADMIN
To reproduce:
            this.radDropDownList1.DropDownListElement.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            this.radDropDownList1.DropDownListElement.AutoCompleteAppend.LimitToList = true;
            this.radDropDownList1.DataSource = new List<string>() { "Test1", "Test2" };

Copy "Test2" and right click over the textbox. The second item is selected. However, if you press Ctrl+V instead of using the Paste option in the context menu, nothing happens.

Workaround:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        RadDropDownList1.DropDownListElement.AutoCompleteMode = AutoCompleteMode.SuggestAppend
        RadDropDownList1.DropDownListElement.AutoCompleteAppend.LimitToList = True
        RadDropDownList1.DataSource = {"Test1", "Test2"}
        
        Me.RadDropDownList1.DropDownListElement.AutoCompleteAppend = New CustomAutoCompleteAppendHelper(Me.RadDropDownList1.DropDownListElement)
    End Sub 

    Public Class CustomAutoCompleteAppendHelper
    Inherits AutoCompleteAppendHelper
        Public Sub New(owner As RadDropDownListElement)
            MyBase.New(owner)

        End Sub

        Public Overrides Sub AutoComplete(e As KeyPressEventArgs)
            If Control.ModifierKeys = Keys.Control AndAlso Asc(e.KeyChar) = 22 Then
                Me.AutoComplete(e, False)
            Else
                Me.AutoComplete(e, Me.LimitToList)
            End If 
        End Sub
    End Class
Unplanned
Last Updated: 17 Apr 2024 14:45 by ADMIN
To reproduce:
- Add some rows to a grid.
- Sort the rows.
- Delete a row.
- The current row is not the next row.

Workaround:
Dim t As Test = RadGridView1.CurrentRow.DataBoundItem
Dim index As Integer = Me.RadGridView1.ChildRows.IndexOf(Me.RadGridView1.CurrentRow)
datasource.Remove(t)
Me.RadGridView1.CurrentRow = Me.RadGridView1.ChildRows(index)
Unplanned
Last Updated: 17 Apr 2024 14:45 by ADMIN
How to reproduce: set a size in the designer, when the form loads its size will not be the same as the one set

Workaround: set the size in the Load event of the ribbon form

private void Form_Shown(object sender, EventArgs e)
{
	this.Size = new Size(600, 600);
}
Unplanned
Last Updated: 17 Apr 2024 14:45 by ADMIN
To reproduce: 
1. Use the following code snippet:
public class ViewModel:INotifyPropertyChanged
{
    public ViewModel()
    {
    }

    private bool _isShown;

    public bool IsShown
    {
        get
        {
            return this._isShown;
        }
        set
        {
            this._isShown = value;
            OnPropertyChanged("IsShown");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
            handler(this, new PropertyChangedEventArgs(propertyName));
    }
}

2. Add a MS Panel and a RadPanel to the form.
3. Add Panel.DataBindings at design time for its Visible property to the ViewModel.IsShown property.
4. When you run the application, the MS Panel is not visible. However, if you remove the RadPanel it is shown. Please refer to the attached sample video illustrtaing better the performed steps.

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

Run the attached project and select a new value from the drop down for RadTimePicker:

 

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Telerik.WinControls.UI.RadTimePickerElement.set_Value(Object value) in C:\Work\Development\RadControls\RadControlsUI\RadTimePicker\Elements\RadTimePickerElement.cs:line 594
   at Telerik.WinControls.UI.RadTimePickerContentElement.element_Click(Object sender, EventArgs e) in C:\Work\Development\RadControls\RadControlsUI\RadTimePicker\Elements\ContentPart\RadTimePickerContentElement.cs:line 585
   at Telerik.WinControls.RadElement.OnClick(EventArgs e) in C:\Work\Development\RadControls\RadControl\TPF\Element\RadElement.cs:line 5094
   at Telerik.WinControls.RadElement.DoClick(EventArgs e) in C:\Work\Development\RadControls\RadControl\TPF\Element\RadElement.cs:line 5158
   at Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) in C:\Work\Development\RadControls\RadControl\TPF\Element\RadElement.cs:line 4272
   at Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) in C:\Work\Development\RadControls\RadControl\TPF\Element\RadItem.cs:line 779
   at Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args) in C:\Work\Development\RadControls\RadControl\TPF\Element\RadElement.cs:line 4179
   at Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e) in C:\Work\Development\RadControls\RadControl\TPF\Element\RadElement.cs:line 5271
   at Telerik.WinControls.RadElement.CallDoMouseUp(MouseEventArgs e) in C:\Work\Development\RadControls\RadControl\TPF\Element\RadElement.cs:line 5493
   at Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e) in C:\Work\Development\RadControls\RadControl\TPF\Control\ComponentInputBehavior.cs:line 75
   at Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e) in C:\Work\Development\RadControls\RadControl\TPF\Control\RadControl.cs:line 1206
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at Telerik.WinControls.RadControl.WndProc(Message& m) in C:\Work\Development\RadControls\RadControl\TPF\Control\RadControl.cs:line 1554
   at Telerik.WinControls.UI.RadPopupControlBase.WndProc(Message& m) in C:\Work\Development\RadControls\RadControlsUI\GenericPopup\RadPopupControlBase.cs:line 795
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Workaround:

        Timer t = new Timer();

        private void RadTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            if (radTimePicker1.Value == null) return;

            var timeval = ((DateTime)radTimePicker1.Value).TimeOfDay;

            if (timeval == TimeSpan.Zero)
            {
                t = new Timer();
                t.Interval = 500;
                t.Tick += T_Tick; t.Start();
            }
        }

        private void T_Tick(object sender, EventArgs e)
        {
            t.Stop();
            this.radTimePicker1.ValueChanged -= RadTimePicker1_ValueChanged;
            this.radTimePicker1.Value = null;
            this.radTimePicker1.ValueChanged += RadTimePicker1_ValueChanged;
        }

Unplanned
Last Updated: 17 Apr 2024 14:44 by ADMIN
To reproduce:
- Add some full pages to the editor. 
- Remove all margin from the print settings and document settings.
- PrintPreview the document.
- Seth the print preview dialog zoom to 100% and compare the documents.
- You will notice that the print document's content is smaller.
Unplanned
Last Updated: 17 Apr 2024 14:44 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Form
Type: Bug Report
1
Please refer to the attached screenshot and sample project.

Workaround: call the RadForm.EndInit method before showing the form.
Unplanned
Last Updated: 17 Apr 2024 14:44 by ADMIN

Follow the steps:

1.Group by Description.

2. Expand the groups

3. Sort by Id

4. Try expanding the hierarchical level. You will notice that some of the rows disappear.

Please refer to the attached gif file illustrating the steps for replicating the issue.

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

Use the code snippet:

    Sub New()

        InitializeComponent()
        Me.RadSpinEditor1.EnableNullValueInput = True
        Me.RadSpinEditor1.NullableValue = Nothing

        Console.WriteLine("Value " & Me.RadSpinEditor1.Value & " END")
        Console.WriteLine("NullableValue " & Me.RadSpinEditor1.NullableValue & " END")
    End Sub

    Private Sub RadSpinEditor1_NullableValueChanged(sender As Object, e As EventArgs) Handles RadSpinEditor1.NullableValueChanged
        Console.WriteLine("NullableValueChanged " & Me.RadSpinEditor1.NullableValue & " END")
    End Sub

Follow the steps:

1. Run the project with the above code and enter 0 in the spin editor. Navigate to the next control. You will notice that the NullableValueChanged event doesn't get fired.

2. Focus the spin editor again and enter 5. Navigate to the next control. The NullableValueChanged event is fired as expected.

3. Focus again the spin editor, select the text and press Del. Navigate to the next control. The NullableValueChanged event is fired again as expected.

4. Focus again the spin editor and enter 0. Navigate to the next control. You will notice that the NullableValueChanged event is fired.

5. Focus again the spin editor, select the text and press Del. Navigate to the next control. The NullableValueChanged event is fired again as expected.

6. Focus again the spin editor and enter 0. Navigate to the next control. You will notice that the NullableValueChanged event is NOT fired in this case.

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

Hi

Please find attached sample project having 2 different reference folder(Telerik2018,Telerik2020) for Telerik.

Code flow & Issue description: I have Event "radGridView1_EditorRequired" in which i have attached another event on value changed "Editor_ValueChanged" in which we get data gron DropdownListElement using ((RadDropDownListElement)(sender)).SelectedValue.
Issue is when we use version (2018.3.1016.40) we get selected value text, in case of current version (2020.1.218.40) we get null value.

Current version DLL  2020.1.218.40 (Issue in current version)
Previous version DLL 2018.3.1016.40 (Working fine)

Note : I have also attached both version of Telerik DLL in sample project, you can reproduce issue by referencing to 2020.1.218.40 version. After selecting values as shown in attached screenshot you will get null value as shown in another screenshot.

Please find attached screenshot  for selecting values to reproduce issue as well where we get null value.

 

Thanks and Regards

Unplanned
Last Updated: 17 Apr 2024 14:43 by ADMIN
When I select items 1 through 4 in the drop-down list, the expected event occurs (the selected item is removed from the drop-down list and added to the list view).  When I select the last item in the list (item 5), the item is added to the list and then I get the ArgumentOutOfRangeException. 
Unplanned
Last Updated: 17 Apr 2024 14:42 by ADMIN

Add a RadFilterView and a RadGridView. Associate the two controls and add programmatically FilterDescriptors to the RadFilterView control. The UI doesn't show any filtering applied. 

        Me.RadFilterView1.FilterViewElement.LoadCategoriesAsync = False
        Me.RadGridView1.DataSource = Me.ProductsBindingSource
        Me.RadGridView1.EnableFiltering = True
        Me.RadGridView1.ShowFilteringRow = False


        AddHandler Me.RadFilterView1.FilterChanged, AddressOf Me.RadFilterView1_FilterChanged
        AddHandler Me.RadFilterView1.FilterViewElement.CategoryCreating, AddressOf Me.FilterViewElement_CategoryCreating
        AddHandler Me.RadFilterView1.FilterViewElement.CategoryCreated, AddressOf Me.FilterViewElement_CategoryCreated

        Me.RadFilterView1.AssociatedControl = Me.RadGridView1

       
        Dim filter As New FilterDescriptor With {
            .PropertyName = "ProductID",
            .Operator = FilterOperator.IsLessThanOrEqualTo,
            .Value = 5,
            .IsFilterEditor = True
        }

        Dim filter2 As New FilterDescriptor With {
            .PropertyName = "CategoryID",
            .Operator = FilterOperator.IsLessThanOrEqualTo,
            .Value = 4,
            .IsFilterEditor = True
        }
        Me.RadFilterView1.FilterDescriptors.AddRange(filter, filter2)

Unplanned
Last Updated: 17 Apr 2024 14:41 by ADMIN
To reproduce:
- Add RadDropDownButton to a blank form.
- Set its anchor property to top, right and its AutoSize property to true.
- At runtime set the button text to a long string, you will notice that the button is resized to the right when it should be resized to the left.

To workaround this you can subscribe to the SizeChanged event of the button change its location depending on the new size:
Size prevSize;

public Form1()
{
    InitializeComponent();
    radDropDownButton1.AutoSize = true;

    this.Shown += Form1_Shown;
}

void Form1_Shown(object sender, EventArgs e)
{
    prevSize = radDropDownButton1.Size;

    radDropDownButton1.SizeChanged += radDropDownButton1_SizeChanged;
}

void radDropDownButton1_SizeChanged(object sender, EventArgs e)
{
    RadDropDownButton button = sender as RadDropDownButton;
    button.Location = new Point(button.Location.X - (radDropDownButton1.Size.Width - prevSize.Width), button.Location.Y);
    prevSize = button.Size;
    
}

private void radButton2_Click(object sender, EventArgs e)
{
    radDropDownButton1.Text = "Very long button text set";
}
Unplanned
Last Updated: 17 Apr 2024 14:41 by ADMIN
To reproduce: please refer to the attached sample project and gif file.

Workaround: use the CellFormatting event and apply the light orange BackColor for the selected cells belonging to the current pinned column:

private void radGridView1_CellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e)
{
    if (e.Row.IsSelected && e.Column.IsCurrent)
    {
        e.CellElement.BackColor = Color.FromArgb(255, 231, 174);
    }
    else
    { 
        e.CellElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local);
    }
}
1 2 3 4 5 6