In Development
Last Updated: 06 Jun 2023 13:59 by ADMIN
Scheduled for R2 2023 SP1

I am getting the following error when using RadMultiSelect with over 13000 records:

Error InnerException Message: Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.
 Error InnerException StackTrace:    at System.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj, StringBuilder output, SerializationFormat serializationFormat)
   at Telerik.Web.UI.AdvancedJavaScriptSerializer.Serialize(Object obj)
   at Telerik.Web.UI.RadMultiSelect.DescribeItems(IScriptDescriptor descriptor)
   at Telerik.Web.UI.RadMultiSelect.DescribeComponent(IScriptDescriptor descriptor)
   at Telerik.Web.UI.ScriptRegistrar.GetScriptDescriptors(Control control)
   at Telerik.Web.UI.RadDataBoundControl.GetScriptDescriptors()
   at System.Web.UI.ScriptControlManager.RegisterScriptDescriptors(IScriptControl scriptControl)
   at Telerik.Web.UI.RadDataBoundControl.RegisterScriptDescriptors()
   at Telerik.Web.UI.RadDataBoundControl.Render(HtmlTextWriter writer)
   at Telerik.Web.UI.RadMultiSelect.Render(HtmlTextWriter writer)
   at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)

I already have <jsonSerialization maxJsonLength="2147483647"> in my web.config but still errors out.

Telerik.Web.UI Version: 2022.2.622.45

Seems similar to this issue: https://www.telerik.com/forums/maxjsonlength-exceeded-in-radmap

But updating to higher version than 2020 didn't seem to solve it. Was the fix only for RadMap?

As it was for other

Unplanned
Last Updated: 05 Jun 2023 13:54 by ADMIN
Due to recent changes to the keyboard accessibility of the RadMenu (i.e. it is now only accessible using the arrow keys instead of moving around using tabs), mega menus are no longer keyboard accessible.

We have designed a mega menu using a telerik RadSiteMap embedded in a RadMenu control, as suggested in the Telerik Demo site: http://demos.telerik.com/aspnet-ajax/menu/examples/megadropdown/defaultcs.aspx

However, this is no longer accessible. Previously, you could open the dropdown by pressing the down button, then move around in the dropdown using tab. Now, however, pressing tab just closes the dropdown.

We need the menu to be accessible in one way or another.
Completed
Last Updated: 02 Jun 2023 10:12 by ADMIN
Release R2 2023
ADMIN
Created by: Danail Vasilev
Comments: 1
Category: Gauge
Type: Feature Request
0
Expose an additional property in RadGauge that controls the margin for the gaugeArea.
Completed
Last Updated: 02 Jun 2023 10:12 by ADMIN
Release R2 2023
ADMIN
Created by: Marin Bratanov
Comments: 1
Category: Gauge
Type: Feature Request
6

			
Completed
Last Updated: 02 Jun 2023 10:11 by ADMIN
Release R2 2023
ADMIN
Created by: Danail Vasilev
Comments: 0
Category: Gauge
Type: Feature Request
3
Add border and border appearance options like color, width and type for the RadGauge. Currently the background color of the RadGauge is set to the wrapper of the control. Improve that color so that it fits in with the border and the shape of the control.
Completed
Last Updated: 02 Jun 2023 10:11 by ADMIN
Release R2 2023
For the time being you can use the following workaround:

        <script>
            var pointerSize = 35;

            function pageLoad() {
                var gauge = $find("<%=rgEpmScorecard.ClientID%>");
                gauge._gaugeObject.options.scale.rangeSize = 25;
                gauge.repaint();
            }

        </script>
        <telerik:RadRadialGauge ID="rgEpmScorecard" runat="server" Skin="Metro" Height="99px" Width="100px">
            <Pointer Value="50" Color="Black">
                <Cap Size="0.5" Color="Black" />
            </Pointer>
            <Scale MajorUnit="10" Max="100" Labels-Visible="false" StartAngle="-45" EndAngle="225">
                <MajorTicks Visible="false" />
                <MinorTicks Visible="false" />
                <Ranges>
                    <telerik:GaugeRange Color="#ac1d23" From="0" To="16.67" />
                    <telerik:GaugeRange Color="#c26522" From="16.7" To="33.33" />
                    <telerik:GaugeRange Color="#d2b408" From="33.5" To="50" />
                    <telerik:GaugeRange Color="#b5be25" From="50.04" To="66.66" />
                    <telerik:GaugeRange Color="#0c833f" From="66.8" To="83.33" />
                    <telerik:GaugeRange Color="#0b6cb3" From="83.38" To="100" />
                </Ranges>
            </Scale>
        </telerik:RadRadialGauge>
        <script>

            var dataviz = kendo.dataviz,
                draw = dataviz.drawing,
                Path = draw.Path,
                DEFAULT_LINE_WIDTH = 0.5;

            kendo.dataviz.RadialPointer.fn._renderNeedle = function () {
                var that = this;
                var options = that.options;
                var minorTickSize = that.scale.options.minorTicks.size;
                var center = that.center;
                var needleColor = options.color;

                var needlePath = new Path({
                    fill: { color: needleColor },
                    stroke: { color: needleColor, width: DEFAULT_LINE_WIDTH }
                });

                needlePath.moveTo(center.x + that.radius - minorTickSize + pointerSize, center.y)
                          .lineTo(center.x, center.y - (that.capSize / 2))
                          .lineTo(center.x, center.y + (that.capSize / 2))
                          .close();

                return needlePath;
            }
        </script>
Unplanned
Last Updated: 01 Jun 2023 08:01 by ADMIN
RadEditor disappears after loading content through ajax manager and SelectedIndexChanged of a regular asp:dropdownlist and iframe content area mode (Safari Only)
Need More Info
Last Updated: 30 May 2023 08:35 by ADMIN
Created by: eDAD
Comments: 3
Category: UI for ASP.NET AJAX
Type: Bug Report
0

Test Environment:

OS: Windows_11

Version: 22H2
OS Build: 22598.200
Browser: Version 104.0.1293.70 (Official Build) (64-bit)
  1. Open URL: https://demos.telerik.com/aspnet-ajax/grid/examples/overview/defaultcs.aspx   page in Edge Browser.
  2. TAB to the grid container.
  3. Observe the issue that the grid container is receiving focus.

Actual Behavior:

Focus moves on non-interactive controls.

Expected Behavior:

Focus shouldn't go to the non-interactive element in table content.

Unplanned
Last Updated: 26 May 2023 08:35 by ADMIN

Hi , help to change the RadChart To RadHtmlChart for line chart series , below is the existing code used RadChart . i need to update to RadHtmlChart

hartAnalysis_BLL objBLL = new ChartAnalysis_BLL();
DataTable dt = objBLL.GetMonthlySSMTotalQuantityImported(arrParameters);

// Create new chart
RadChart2.ChartTitle.TextBlock.Appearance.TextProperties.Font = new System.Drawing.Font(RadChart2.ChartTitle.TextBlock.Appearance.TextProperties.Font.FontFamily, 11, System.Drawing.FontStyle.Bold);
RadChart2.ChartTitle.TextBlock.Text = "Extended Monthly SSM Total Quantity Imported \n(" + ssm[0] + ")";
RadChart2.Width = AppConstants.CONST_CHART_WIDTH;
RadChart2.ChartTitle.Visible = true;
RadChart2.Chart.DefaultType = ChartSeriesType.Line;
RadChart2.PlotArea.Appearance.Dimensions.Margins.Left = Telerik.Charting.Styles.Unit.Percentage(10);
RadChart2.PlotArea.Appearance.Dimensions.Margins.Right = Telerik.Charting.Styles.Unit.Percentage(15);
RadChart2.PlotArea.Appearance.Dimensions.Margins.Bottom = Telerik.Charting.Styles.Unit.Percentage(30);

RadChart2.DataManager.ValuesXColumn = "Date";
RadChart2.DataManager.ValuesYColumns = new string[1] { "SSM Quantity" };
RadChart2.IntelligentLabelsEnabled = true;
RadChart2.DataSource = dt;
RadChart2.DataBind();
RadChart2.Skin = AppConstants.CONST_TELERIK_CHARTSKIN;

RadChart2.PlotArea.XAxis.Clear();
RadChart2.PlotArea.XAxis.IsZeroBased = false;
RadChart2.PlotArea.XAxis.AutoScale = false;
RadChart2.PlotArea.XAxis.Appearance.ValueFormat = ChartValueFormat.ShortDate;
RadChart2.PlotArea.XAxis.Appearance.CustomFormat = "MMM yy";
RadChart2.PlotArea.XAxis.AxisLabel.Visible = true;
RadChart2.PlotArea.XAxis.AxisLabel.TextBlock.Text = "Month \n(" + AppFunctions.GetDisclaimer() + ")";
RadChart2.PlotArea.XAxis.AxisLabel.TextBlock.Appearance.TextProperties.Color = System.Drawing.Color.Black;
RadChart2.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = -45;

RadChart2.PlotArea.YAxis.AxisLabel.Visible = true;
RadChart2.PlotArea.YAxis.AxisLabel.TextBlock.Text = "Total Quantity of SSM Imported (" + dt.Rows[0]["UOM"] + ")";
RadChart2.PlotArea.YAxis.AxisLabel.TextBlock.Appearance.TextProperties.Color = System.Drawing.Color.Black;

RadChart2.Series.GetSeries(0).Appearance.PointMark.Dimensions.Width = 1;
RadChart2.Series.GetSeries(0).Appearance.PointMark.Dimensions.Height = 1;
RadChart2.Series.GetSeries(0).Appearance.PointMark.FillStyle.MainColor = System.Drawing.Color.Black;
RadChart2.Series.GetSeries(0).Appearance.PointMark.FillStyle.FillType = FillType.Solid;
RadChart2.Series.GetSeries(0).Appearance.PointMark.Visible = true;
RadChart2.Series.GetSeries(0).Appearance.LineSeriesAppearance.Color = System.Drawing.Color.Orange;
RadChart2.Series.GetSeries(0).Appearance.LineSeriesAppearance.Width = 3;

int intYear = dt_SelDateFrom.Year;
int intMonth = dt_SelDateFrom.Month;
DateTime start = new DateTime(intYear, intMonth, 1);
TimeSpan ts = dt_SelDateTo - dt_SelDateFrom;
int intMthDiff = Convert.ToInt32(Math.Ceiling((ts.TotalDays / 30)));

for (int i = 0; i < intMthDiff; i++)
{
    ChartAxisItem item = new ChartAxisItem();
    item.Value = (decimal)start.AddMonths(i).ToOADate();
    RadChart2.PlotArea.XAxis.AddItem(item);
}

DataTable dt_avg = objBLL.GetSSMTotalImportedLastYearAverage(arrParameters);

// Define chart series
ChartSeries avg_series = new ChartSeries();
avg_series.Appearance.LabelAppearance.Visible = false;
avg_series.Name = "Last Year Average";
avg_series.Type = ChartSeriesType.Line;
avg_series.Appearance.PointMark.Dimensions.Width = 1;
avg_series.Appearance.PointMark.Dimensions.Height = 1;
avg_series.Appearance.PointMark.FillStyle.MainColor = System.Drawing.Color.Black;
avg_series.Appearance.PointMark.FillStyle.FillType = FillType.Solid;
avg_series.Appearance.PointMark.Visible = true;
avg_series.Appearance.LineSeriesAppearance.Color = System.Drawing.Color.Red;

foreach (DataRow row in dt_avg.Rows)
{
    foreach (DataColumn col in dt_avg.Columns)
    {
        Decimal dec_data = Convert.ToDecimal(row[col]);
        Double dbl_data = Convert.ToInt32(dec_data);
        avg_series.AddItem(dbl_data);
    }
}

RadChart2.AddChartSeries(avg_series);

ArrayList arrParameterBaseline = new ArrayList();
arrParameterBaseline.Add(dt_SelBaselineFrom);
arrParameterBaseline.Add(dt_SelBaselineTo);
arrParameterBaseline.Add(dt_SelSSMSeqID);
SqlDataReader dr_baseline = objBLL.GetSSMTotalImportedBaseline(arrParameterBaseline);

ChartSeries baseline_series = new ChartSeries();
baseline_series.Appearance.LabelAppearance.Visible = false;
baseline_series.Name = "Baseline Average";
baseline_series.Type = ChartSeriesType.Line;
baseline_series.Appearance.PointMark.Dimensions.Width = 1;
baseline_series.Appearance.PointMark.Dimensions.Height = 1;
baseline_series.Appearance.PointMark.FillStyle.MainColor = System.Drawing.Color.Black;
baseline_series.Appearance.PointMark.FillStyle.FillType = FillType.Solid;
baseline_series.Appearance.PointMark.Visible = true;
baseline_series.Appearance.LineSeriesAppearance.Color = System.Drawing.Color.Chartreuse;

Double dbl_baseline = 0;

if (dr_baseline == null)
{
    dbl_baseline = 0;
}
else
{
    try
    {
        while (dr_baseline.Read())
        {
            if (dr_baseline["TotalImportedBaseline"] == DBNull.Value)
                dbl_baseline = 0;
            else
            {
                Decimal dec_baseline = dr_baseline.GetDecimal(dr_baseline.GetOrdinal("TotalImportedBaseline"));
                dbl_baseline = Convert.ToDouble(dec_baseline);
            }
        }
    }
    catch (Exception ex)
    {
        AppFunctions.SetMessageError(this.Page, AppConstants.CONST_ERROR_LOAD_CHART);
        AppFunctions.ErrorLog(ex);
    }
    finally
    {
        if (dr_baseline != null)
        {
            dr_baseline.Close();
            dr_baseline.Dispose();
        }
    }
}

for (int i = 0; i < intMthDiff; i++)
{
    baseline_series.AddItem(dbl_baseline);
}

RadChart2.AddChartSeries(baseline_series);

Panel1.Controls.Add(RadChart2);

}
catch (Exception ex)
{
    AppFunctions.SetMessageError(this.Page, AppConstants.CONST_ERROR_LOAD_CHART);
    AppFunctions.ErrorLog(ex);
}

Declined
Last Updated: 25 May 2023 08:22 by Johnny
When scroll inside RadGrid in Chrome on a mobile device or in the DevTools responsive/mobile mode, the browser throws [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See  https://www.chromestatus.com/features/5093566007214080. I get 1 error message for every pixel the grid scrolls. 

The problem is due to jQuery and is reproducible with 1.12.4 and 3.3.1 versions of it.
Unplanned
Last Updated: 23 May 2023 09:32 by Russ

args.get_eventTargetElement() in OnRequestStart event returns null when Paging the Grid initiates an AjaxRequest via AjaxManager

How do I determine if the event target is a RadGrid?

The following code leads to a JavaScript error

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ClientEvents-OnRequestStart="requestStart">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadGrid1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
            </UpdatedControls>
        </telerik:AjaxSetting>

JavaScript

function requestStart(sender, args) {
    var target = args.get_eventTargetElement();
    if (target.className.indexOf("RadGrid") > -1) {
        // RadGrid control
    }
}

Unplanned
Last Updated: 15 May 2023 06:41 by Matthias

Initially empty Signature has no value -> signatureObject.value() returns undefined. When the control is focused it gets a default value representing the blank background of the signature pad.

Validating the Signature based on its value gets quite complex as it requires considering this default base64string.

It would be great if the control would provide functionality to validate for mandatory user input

Unplanned
Last Updated: 15 May 2023 06:16 by Matthias
Created by: Matthias
Comments: 1
Category: Signature
Type: Feature Request
1

If one wants to read the resulting signature server-side (after a button-click / form submission), one kind of has to work with a lot of javascript and hidden input fields to transfer the base64-encoded png towards the server. It would be way nicer if you could provide the content of the signature as a server-side property of the RadSignature-control (during post-back).

Unplanned
Last Updated: 12 May 2023 12:52 by Matthias

If you paint a stroke on the canvas, then "maximize" the RadSignature-control (effectively zooming in on the control) and then paint a second stroke, you'll see that those strokes will have a different line width; the second one being bigger.

If you repeatedly maximize/minimize the RadSignature control and draw a stroke each time on the bottom of the canvas, then the resulting image will get distorted.

Unplanned
Last Updated: 12 May 2023 12:43 by Matthias

If one opens a dialog/window containing a RadSignature-control and resizes the dialog (e.g. make it twice as large) then the position of the cursor on the canvas does not match the position of the strokes anymore. Painting in the top-left corner is sort of okay/close, but the further one moves the cursor towards the bottom-right, the bigger the offset will be.

Unplanned
Last Updated: 12 May 2023 12:40 by Matthias
There's no event to hook in case of a reset; therefore I cannot detect resets. Currently, the change event is not firing when the Signature is cleared.
Unplanned
Last Updated: 12 May 2023 11:17 by ADMIN
Planned
Last Updated: 05 May 2023 11:51 by ADMIN
Scheduled for R2 2023
Created by: Stas
Comments: 0
Category: ListView
Type: Bug Report
0

Docs: Telerik.Web.UI.RadListViewFilterExpressionLogicBuilder class members

listView.get_filterExpressions()
    .clear()
    .build()
    .greaterThan("UnitPrice", 25)
    .and()
    .lessThan("UnitsInStock", 40)
    .or()
    .group(function (builder) {
        builder.notEqualTo("Discontinued", true)
            .and()
            .startsWith("ProductName", "I");
    });
listView.rebind();

Unplanned
Last Updated: 03 May 2023 14:53 by ADMIN
Created by: Alan
Comments: 5
Category: UI for ASP.NET AJAX
Type: Feature Request
0

Hi,

A Feature suggestion to develop a drag-drop Interactive Forms builder, rather than programmatically design a Form. This Feature would simplify and reduce design time to create an Interactive Form for a Designer/User and could be directly integrated into existing applications.

https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/model/interactive-forms/overview

Alan

Completed
Last Updated: 01 May 2023 12:45 by ADMIN
Release R2 2023

When using the AddAjaxSettings method of the RadAjaxManager, the Height is not taken into account. 

In the following example, the "Unit.Percentage(100)" part marked with yellow:

RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadGrid1, RadGrid2, RadAjaxLoadingPanel1, UpdatePanelRenderMode.Block, Unit.Percentage(100));

 

This worked with older versions of Telerik, e.g. 2020.x.y

1 2 3 4 5 6