Our clients can download different product files from their Telerik account:
https://docs.telerik.com/devtools/winforms/installation-and-upgrades/download-product-files
Currently, when Digitally Signed Assemblies are necessary, they submit support tickets and the support engineers provide the signed assemblies. It would be nice to be directly uploaded to the Telerik account like the rest of the product files.
I downloaded the ERP demo from here: https://www.telerik.com/support/code-library/erp-demo-application-for-winforms
After upgrading the projects to .NET 4.8 and running the application, the following exception is observed:
The full stack trace:
System.Data.Services.Client.DataServiceTransportException HResult=0x80131509 Message=Unable to connect to the remote server Source=Microsoft.Data.Services.Client StackTrace: at System.Data.Services.Client.HttpWebRequestMessage.GetResponse() at System.Data.Services.Client.DataServiceContext.GetResponseHelper(ODataRequestMessageWrapper request, IAsyncResult asyncResult, Boolean handleWebException) at System.Data.Services.Client.QueryResult.ExecuteQuery() at System.Data.Services.Client.DataServiceRequest.GetQuerySetCount(DataServiceContext context) at System.Data.Services.Client.DataServiceQueryProvider.ReturnSingleton[TElement](Expression expression) at ERP.Client.PurchasesControl.Initialize() in C:\Users\dyordano\Downloads\009a20df-21b2-4e64-b129-eaf9e0a686f5_ERP-CS (1)\ERP.Client\CustomControls\Views\PurchasesControl.cs:line 48 at ERP.Client.BaseGridControl..ctor() in C:\Users\dyordano\Downloads\009a20df-21b2-4e64-b129-eaf9e0a686f5_ERP-CS (1)\ERP.Client\CustomControls\BaseGridControl.cs:line 49 at ERP.Client.PurchasesControl..ctor() in C:\Users\dyordano\Downloads\009a20df-21b2-4e64-b129-eaf9e0a686f5_ERP-CS (1)\ERP.Client\CustomControls\Views\PurchasesControl.cs:line 29 This exception was originally thrown at this call stack: System.Net.Sockets.Socket.DoConnect(System.Net.EndPoint, System.Net.SocketAddress) System.Net.ServicePoint.ConnectSocketInternal(bool, System.Net.Sockets.Socket, System.Net.Sockets.Socket, ref System.Net.Sockets.Socket, ref System.Net.IPAddress, System.Net.ServicePoint.ConnectSocketState, System.IAsyncResult, out System.Exception) Inner Exception 1: WebException: Unable to connect to the remote server Inner Exception 2: SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 65.52.19.99:80
Hi Team,
The Travel Assistant demos are broken... it just hangs. This is also true for the Xamarin Demos, WPF demos and WinForms demos.
Here are some screenshots:
UI for Winforms demos
Telerik UI for Xamarin demos
Add a RadTextBox on the form and open its smart tag:
Open the editor for the font and select the entire text:
Then, press Del:
When you try to close the editor, an error occurs:
However, the Font is already serialized as null:
As a result, the designer can't be opened any more:
Just to report a minor typo:
FitlerViewTextCategoryItemCreatedEventArgs, in Telerik.WinControls.UI.FilterView
The designer tries to load the assembly and throws the following error:
public partial class RadForm1 : Telerik.WinControls.UI.RadForm
{
public RadForm1()
{
InitializeComponent();
this.SizeChanged += RadForm1_SizeChanged;
this.timer1.Start();
}
private void RadForm1_SizeChanged(object sender, EventArgs e)
{
this.Text = this.Size.ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.WindowState = FormWindowState.Normal;
}
else
{
this.WindowState = FormWindowState.Minimized;
}
}
}
This is about this method:
public void SetError(GridViewCellCancelEventArgs e, Exception exception)
{
GridViewDataErrorEventArgs args = new GridViewDataErrorEventArgs(exception, 0, 0, GridViewDataErrorContexts.Commit);
if (e != null)
{
args = new GridViewDataErrorEventArgs(exception, e.ColumnIndex, e.RowIndex, GridViewDataErrorContexts.Commit);
}
this.EventDispatcher.RaiseEvent<GridViewDataErrorEventArgs>(EventDispatcher.DataError, this, args);
if (args.ThrowException)
{
throw args.Exception;
}
if (args.Cancel)
{
//TODO: cancel row edit
}
}
The method GridViewTemplate.SetError accepts a parameter of type GridViewCellCancelEventArgs (named e), but uses the information to create a new object of type GridViewDataErrorEventArgs (named args) and uses information from e to fill args.
The method then fires an event with args. Args also has a property Cancel which can be set in the event handlers. But nothing is done with that property.
Parameter e also has a property Cancel which is never be filled. So it could be useful, at the end of SetError, to set e.Cancel with args.Cancel. This way the caller can use the Cancel information from the events.
This request is also related to my next request.
PS: Why is GridViewCellCancelEventArgs called this way? It implies it has arguments for an event, but it is not used for an event, am I right?
Hi,
I am using CalHelper to convert recurrence rule to and from string.
It looks like when I convert rule to string and then parse it back to recurrence, some of the properties get dropped.
Please see below from my VS editor highlighting this:
Am I doing something wrong, or is this a bug?
Thanks
Anu
The Cut operations of the RadVirtualGrid does not work.
When the SelectionMode is set to FullRowSelect, MultiSelect = true, and multiple rows are selected, the loop goes something like this:
// Pseudo code:
for(int rowIndex = firstRow; rowIndex <= lastRow; rowIndex++)
{
AddRowToClipboardData(rowIndex)
UserDeletedRow(rowIndex);
}
My suggestion:
The assembly is required for our RadMarkupEditor using the IE rendering engine. It allows you to specify HTML-like text formatting at design time in the Properties window of Visual studio:
To reproduce the issue, just drag a RadToggleSwitch to the form. Then, at run time call the method:
radToggleSwitch1.SetToggleState(newValue: false, animate: false);
You will notice that the colors are changed but the thumb is not moved:
Workaround:
this.radToggleSwitch1.AllowAnimation = false;
this.radToggleSwitch1.Toggle();
After installing R3 2022, the QuickStart example can't be run:
The ChartLegendElement displays the legend items in a StackLayoutElement which can be either vertical or horizontal.
public RadForm1()
{
InitializeComponent();
Random rand = new Random();
List<LineSeries> list = new List<LineSeries>();
for (var index = 1; index <= 15; index++)
{
LineSeries ls = new LineSeries();
ls.LegendTitle = "Series " + index;
list.Add(ls);
}
for (int index = 1; index <= 100; index++)
{
foreach (LineSeries s in list)
s.DataPoints.Add(new CategoricalDataPoint(index, rand.Next(0, rand.Next(5, 20))));
}
this.radChartView1.Series.AddRange(list.ToArray());
this.radChartView1.ShowLegend = true;
this.radChartView1.ChartElement.LegendPosition = LegendPosition.Bottom;
this.radChartView1.ChartElement.LegendElement.StackElement.Orientation = Orientation.Vertical;
}
Horizontal:
Vertical:
It would be good to provide an option for wrapping the legend items:
Workaround: use an appropriate container for the legend items to wrap the legend item and use the space more efficiently
https://docs.telerik.com/devtools/winforms/knowledge-base/chartview-wrap-legend-items
The method GridViewTemplate.SetError creates in most situations an GridViewDataErrorEventArgs object twice.
Current code:
GridViewDataErrorEventArgs args = new GridViewDataErrorEventArgs(exception, 0, 0, GridViewDataErrorContexts.Commit);
if (e != null)
{
args = new GridViewDataErrorEventArgs(exception, e.ColumnIndex, e.RowIndex, GridViewDataErrorContexts.Commit);
}
In assume in most cases e will not be null, so in must cases the first args will be removed. This has a small negative impact on memory and performace.
Suggestion:
GridViewDataErrorEventArgs args = e == null
? new GridViewDataErrorEventArgs(exception, 0, 0, GridViewDataErrorContexts.Commit)
: new GridViewDataErrorEventArgs(exception, e.ColumnIndex, e.RowIndex, GridViewDataErrorContexts.Commit);
This is about the following method:
public void SetError(GridViewCellCancelEventArgs e, Exception exception)
{
GridViewDataErrorEventArgs args = new GridViewDataErrorEventArgs(exception, 0, 0, GridViewDataErrorContexts.Commit);
if (e != null)
{
args = new GridViewDataErrorEventArgs(exception, e.ColumnIndex, e.RowIndex, GridViewDataErrorContexts.Commit);
}
this.EventDispatcher.RaiseEvent<GridViewDataErrorEventArgs>(EventDispatcher.DataError, this, args);
if (args.ThrowException)
{
throw args.Exception;
}
if (args.Cancel)
{
//TODO: cancel row edit
}
}
Right now, the method GridViewTemplate.SetError accepts a parameter of type GridViewCellCancelEventArgs, which in itself is weird, because event args should only be used inside events and OnXXX-methods. But since SetError fires an event, one could argue that this method is like a OnXXX-method.
But inside it becomes more weird, it translates GridViewCellCancelEventArgs into GridViewDataErrorEventArgs. And I must admit, the last DataError-args feel a lot more logical that CellCancel-args when firing setting an error. Furthermore, if I create an override of class GridViewCellCancelEventArgs to contain more data about an error, this information never reaches the event handlers.
So why this translation? Or better: Why this parameter?
My suggestion would be to make a new overload:
public void SetError(GridViewDataErrorEventArgs e)
{
if (e == null)
throw new ArgumentNullException(nameof(e));
this.EventDispatcher.RaiseEvent<GridViewDataErrorEventArgs>(EventDispatcher.DataError, this, args);
if (args.ThrowException)
throw args.Exception;
if (args.Cancel)
{
// TODO: I really do not know what telerik wanted to do here, so I live this up to Telerik.
}
}
Repro-steps
Expected behavior
Observed behavior