Hello there,
I am facing system.StackOverflowExcepiton while exporting document with HtmlFormatProvider. I am attaching my code with the HTML string which I am passing into RichTextEditor.
---------------------------------------------------------
HTML String:
"Navigate to the <a href="https://exelon.ifs.cloud/landing-page/" target="_blank"><b><u>IFS Cloud Landing Page</u></b></a>.<br /> <br />NOTE: If the above link does not work for you, copy and paste this address ...<br /> <br /><u>https://exelon.ifs.cloud/landing-page/</u>"
---------------------------------------------------------
Method which is giving me an error:
internal static string GetRadRichTextEditorHtmlValue(RadRichTextEditor radRichTextEditor, bool RemoveNewLineSpace = false, bool withDocumentChange = true, bool removeLastParagraphLine = false, bool fromDefinationEditor = false, bool OnlyHtml = false, bool fromDynamicAssetDefinition = false)
//internal static string GetRadRichTextEditorHtmlValue(RadRichTextEditor radRichTextEditor, bool RemoveNewLineSpace = false, bool withDocumentChange = true, bool removeLastParagraphLine = false, bool fromDefinationEditor = false,bool OnlyHtml=false)
{
string htmlValue = string.Empty;
try
{
if (radRichTextEditor == null)
return "";
Telerik.WinForms.Documents.Model.RadDocument document = radRichTextEditor.Document;
Telerik.WinForms.Documents.FormatProviders.Html.HtmlFormatProvider provider = new Telerik.WinForms.Documents.FormatProviders.Html.HtmlFormatProvider();
if (withDocumentChange)
{
//Telerik.WinForms.Documents.FormatProviders.Html.HtmlExportSettings htmlExportSettings = new Telerik.WinForms.Documents.FormatProviders.Html.HtmlExportSettings();
//htmlExportSettings.ExportHeadingsAsTags = true;
//provider.ExportSettings = htmlExportSettings;
//htmlExportSettings.PropertiesToIgnore["h1"].Add("Heading1");
provider.ExportSettings.DocumentExportLevel = Telerik.WinForms.Documents.FormatProviders.Html.DocumentExportLevel.Fragment;
provider.ExportSettings.ExportFontStylesAsTags = true;
}
htmlValue = provider.Export(document); // Exception place.
if (withDocumentChange)
{
string strikeClassName = GetStrikeClassName(htmlValue);
htmlValue = GetTagValueFromHtmlString(htmlValue, fromDefinationEditor, fromDynamicAssetDefinition);
htmlValue = StripHtmlExceptFontTags(htmlValue, strikeClassName, RemoveNewLineSpace, OnlyHtml);
}
document.Dispose();
}
catch (Exception ex)
{
ClickLearn.Exceptions.ExceptionToEventLog(ex, "GetRadRichTextEditorHtmlValue");
}
// TO DO: Remove below condition when <br/> issue fixed fom editor
if (htmlValue.IndexOf("<br />") == 0 || htmlValue.IndexOf("</ br>") == 0)
{
htmlValue = htmlValue.Substring(6);
}
else if (htmlValue.IndexOf("<br/>") == 0 || htmlValue.IndexOf("</br>") == 0)
{
htmlValue = htmlValue.Substring(5);
}
if (!string.IsNullOrEmpty(htmlValue))
{
htmlValue = RemoveLastNewLine(htmlValue);
}
return htmlValue;
}
---------------------------------------------------------
Control's properties:
ucRichTextBox ucRichTextBox2 = new ucRichTextBox(tagCommand.Tags, ce.CurrentLCID, true, MetadataProperties, ArgInfoList);
ucRichTextBox2.spd = spd;
ucRichTextBox2.Tag = tagCommand.Tags;
ucRichTextBox2.Name = "ucRichTextBox2";
ucRichTextBox2.Left = sx;
ucRichTextBox2.Top = y;
ucRichTextBox2.Width = pnlSPD.Width - leftPadding - rightPadding;
ucRichTextBox2.btnUnlock.Click += BtnUnlock_Click;
ucRichTextBox2.btnUnlock.Image = Properties.Resources.c_full;
ucRichTextBox2.btnUnlock.Tag = "c_full";
ucRichTextBox2.btnLockOption.Visible = true;
ucRichTextBox2.btnLockOption.BringToFront();
ucRichTextBox2.btnLockOption.MouseDown += BtnLockOption_MouseDown;
ucRichTextBox2.btnLink.Click += BtnLink_Click;
ucRichTextBox2.rtxContent.CommandExecuting += RtxContent_CommandExecuting;
ucRichTextBox2.btnSetting.ButtonElement.ToolTipText = argInfoUX12.ConfigDoc.ContainsKey
---------------------------------------------------------
UI for the control:
---------------------------------------------------------
Error message:
Me.radToggleSwith1.OffText = "OFF"
Me.radToggleSwith1.OnText = "ON"
System.ArgumentException: 'An item with the same key has already been added.' when the data source contains DateTime with the same hour, minute, and seconds part (only milliseconds are different):
When using the AnchorStyles property, the editor does not update the anchors as expected:
1. Select two or more cells.
2. Click on the "All charts" button
3. The charts are not displayed and the following error occurs:
Auto-complete items overlap in the VisualStudio2022 theme:
We are using the DropDownButtonElement on a RibbonBar, there are a very frustating issue with the RadArrowButtonElement.
On this image it show 5 children, but on code there are 6 children, here is a CopyPase of your CreateChildElements in RadArrowButtonElement.
protected override void CreateChildElements()
{
arrow = new ArrowPrimitive(ArrowDirection.Down);
arrow.Class = "RadArrowButtonArrow";
arrow.AutoSize = false;
arrow.Alignment = System.Drawing.ContentAlignment.MiddleCenter;
overflowArrow = new OverflowPrimitive(ArrowDirection.Down);
overflowArrow.Class = "RadArrowButtonOverflowArrow";
overflowArrow.AutoSize = false;
overflowArrow.Alignment = System.Drawing.ContentAlignment.MiddleCenter;
overflowArrow.Visibility = ElementVisibility.Collapsed;
fillPrimitive = new FillPrimitive();
fillPrimitive.Class = "RadArrowButtonFill";
fillPrimitive.AutoSizeMode = RadAutoSizeMode.FitToAvailableSize;
borderPrimitive = new BorderPrimitive();
borderPrimitive.Class = "RadArrowButtonBorder";
borderPrimitive.AutoSizeMode = RadAutoSizeMode.FitToAvailableSize;
imagePrimitive = new ImagePrimitive();
imagePrimitive.Class = "RadArrowButtonImage";
imagePrimitive.AutoSizeMode = RadAutoSizeMode.FitToAvailableSize;
imagePrimitive.Alignment = System.Drawing.ContentAlignment.MiddleCenter;
textPrimitive = new TextPrimitive();
textPrimitive.Class = "RadArrowButtonTextGlyph";
textPrimitive.AutoSizeMode = RadAutoSizeMode.FitToAvailableSize;
textPrimitive.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
textPrimitive.StretchHorizontally = true;
textPrimitive.StretchVertically = true;
Children.Add(fillPrimitive);
Children.Add(borderPrimitive);
Children.Add(arrow);
Children.Add(overflowArrow);
Children.Add(imagePrimitive);
Children.Add(textPrimitive);
}
The problem is that we are changing the ArrowButton size to (6, 0) width, here is the how it looks:
As you can see the triangle is outside the ArrowButton, my first idea was to look the ArrowPrimitive and OverflowPrimitive, but that triangle is on TextPrimitive.
Making this change on RadDropDownButtonElement i was able to "solve" the offset and the size.
base.ArrowButton.TextPrimitive.Font = new Font(base.ArrowButton.TextPrimitive.Font.FontFamily, 6);
I have to comment this to something like: "I dont know why this works, but the triangle is on a child text primitive... So don't erase this line".
When Telerik UI for WinForms / WPF extensions are installed, Visual Studio is unresponsive for a couple of minutes after a solution is loaded. During that time, "Updating source control status…" is shown.
Workarounds:
Setting the Title property should update the header text:
this.radPageViewPage1.Title = "test";
This bug is about a mismatch between what behaviour is expected (on a functional level) and the actual behavior. There are different scenario's:
int index = myRadGridView.Rows.Add(1, 2, 3);
Actual and expected behavior
Adds a row to the grid, filling cells with the values 1, 2 and 3. Even when there are more columns than values, only the first 3 cells are filled.
int index = myRadGridView.Rows.Add(); // Will result in: myRadGridView.Rows.Add(new object[0]);
Actual behavior
IndexOutOfRangeException is thrown.
Expected behavior
A new row is added, the cells are not filled with anything, since it should not matter if 3, 4 or zero values are added to the cells. Or, if you are very strict, an ArgumentOutOfRangeException, telling us at least 1 value is required.
Remark
Of course there is also a NewRow() method. But that is no reason Add() should not be allowed to accept zero values.
int index = myRadGridView.Rows.Add((object[])null);
Actual behavior
A NullReferenceException is thrown.
Expected behavior
ArgumentNullException, telling us that parameter "values" is not allowed to be null.
int index = myRadGridView.Rows.Add(new GridViewDataRowInfo(...), new GridViewDataRowInfo(...));
// or
int index = myRadGridView.Rows.Add(new object[] { new GridViewDataRowInfo(...), new GridViewDataRowInfo(...) });
Actual behavior
Only the first row is added. The second row, or even the second value (integer, string, whatever) is totally ignored.
Expected behavior
Remark
The method Add(params object[] values) checks if the first value is a row, resulting in this and the previous bugs.
Repro-steps
Actual behavior
The value contains a string representing the formatted and rounded value of the average of all values.
Expected behavior
The value contains a raw, not rounded, not formatted, decimal value.
Remarks
I expect this behavior since GridSummaryCellElement has two properties: Text and Value.
I expect those to have difference functions. Value to hold the actual calculated value, and Text to hold the formatted, round string-equivalent.
Another reason why I expect this, is that Value is of type object, not of type string. So expect a value corresponding to the original datatype of the column and/or the result of the calculation.
Follow-up questions