The default browser paragraph spacing is not preserved during HTML import-export.
Workaround:
StyleDefinition normalStyle = this.radRichTextEditor1.Document.StyleRepository[RadDocumentDefaultStyles.NormalWebStyleName];
normalStyle.ParagraphProperties.SpacingAfter = 20;
normalStyle.ParagraphProperties.SpacingBefore = 20;
It can be scrolled at design time in .NET Framework, but not in .NET 6:
Steps to reproduce:
1. Run the sample project and select a row inside the grid
2. Press Ctrl+B
The following error occur:
Workaround: set the EnableFastScrolling property to false.
When exporting a RadFixedDocument, which contains a signature added with PdfProcessing a NotSupportedException is thrown: 'Stream does not support reading.'
Use the following code:
public RadForm1()
{
InitializeComponent();
// This XML contains a simple tree with a root node having 3 children, the first of which is intended to be Bold
var xml = "<TreeView xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" MultiSelect=\"true\" AllowDragDrop=\"true\" LabelEdit=\"true\" AllowDrop=\"true\"> <Nodes Text=\"New Package\" Expanded=\"true\" ImageKey=\"Package\" Font=\"Microsoft Sans Serif, 8.25pt, style=Bold\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\New Package</FullName><ObjectType>Package</ObjectType><IsRunnable>False</IsRunnable><IsContainer>true</IsContainer></Info></Tag> <Nodes Text=\"Query Engine\" ImageKey=\"QueryEngine\" Expanded=\"true\" Font=\"Microsoft Sans Serif, 8.25pt, style=Bold\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\Query Engine</FullName><ObjectType>QueryEngine</ObjectType><IsRunnable>true</IsRunnable><IsTableEntity>true</IsTableEntity><IsCut>false</IsCut></Info></Tag> </Nodes> <Nodes Text=\"Connector\" ImageKey=\"Irion.SQLServer\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\Connector</FullName><ObjectType>DBConnection</ObjectType><IsCut>false</IsCut></Info></Tag> </Nodes> <Nodes Text=\"Connector Link\" ImageKey=\"DatabaseDatalink\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\Connector Link</FullName><ObjectType>DatabaseDatalink</ObjectType><IsRunnable>true</IsRunnable><IsTableEntity>true</IsTableEntity><IsCut>false</IsCut></Info></Tag> </Nodes> </Nodes></TreeView>";
this.radTreeView1.LoadXML(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(xml)));
//make sure that the following 2 nodes are bold:
this.radTreeView1.Nodes[0].Nodes[0].Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Bold, GraphicsUnit.Point, 0);
this.radTreeView1.Nodes[0].Nodes[2].Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Bold, GraphicsUnit.Point, 0);
var tvx = this.radTreeView1.TreeViewXml;
}
The XML returned by the tvx variable is different in 6.0 and 4.7.2. The Font for the node is serialized in 4.7.2:
But the font is missing in 6.0:
If the list separator for the culture is ";"
and you have nodes in RadTreeView that are bold, the following XML will be serialized:
var xml = "<TreeView xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" MultiSelect=\"true\" AllowDragDrop=\"true\" LabelEdit=\"true\" AllowDrop=\"true\"> <Nodes Text=\"New Package\" Expanded=\"true\" ImageKey=\"Package\" Font=\"Microsoft Sans Serif; 8,25pt; style=Bold\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\New Package</FullName><ObjectType>Package</ObjectType><IsRunnable>False</IsRunnable><IsContainer>true</IsContainer></Info></Tag> <Nodes Text=\"Query Engine\" ImageKey=\"QueryEngine\" Expanded=\"true\" Font=\"Microsoft Sans Serif; 8,25pt; style=Bold\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\Query Engine</FullName><ObjectType>QueryEngine</ObjectType><IsRunnable>true</IsRunnable><IsTableEntity>true</IsTableEntity><IsCut>false</IsCut></Info></Tag> </Nodes> <Nodes Text=\"Connector\" ImageKey=\"Irion.SQLServer\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\Connector</FullName><ObjectType>DBConnection</ObjectType><IsCut>false</IsCut></Info></Tag> </Nodes> <Nodes Text=\"Connector Link\" ImageKey=\"DatabaseDatalink\"> <Tag xsi:type=\"xsd:string\"><Info><FullName>\\Connector Link</FullName><ObjectType>DatabaseDatalink</ObjectType><IsRunnable>true</IsRunnable><IsTableEntity>true</IsTableEntity><IsCut>false</IsCut></Info></Tag> </Nodes> </Nodes></TreeView>";
However, if you try to load this layout on another machine where the list separator is "," the nodes wouldn't be bold:
Expected:
Actual:
One should be able to move the selected cell and scroll with the arrow keys. The attached project features a solution for moving the currently selected cell using the arrow keys.
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;
}
Use the following code:
public RadForm1()
{
InitializeComponent();
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
for (int i = 0; i < 10; i++)
{
dt.Rows.Add(i, "Item" + i);
}
this.radGridView1.DataSource = dt;
this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
this.radGridView1.CellValidating += radGridView1_CellValidating;
}
private void radGridView1_CellValidating(object sender, CellValidatingEventArgs e)
{
if (e.Column.Index == 0 && e.ActiveEditor != null && e.Value + "" == "1")
{
e.Cancel = true;
RadMessageBox.Show("IncorrectValue");
}
}
Follow the steps:
1. Scroll to the last row.
2. Enter value "1" in the first cell of the last row
3. Click the area above the scrollbar's thumb to trigger scrolling to the top. You will notice that the message box will be shown and the view will be scrolled. Once the message is closed, the error occurs.
Workaround:
public class CustomGridView : RadGridView
{
public override string ThemeClassName
{
get
{
return typeof(RadGridView).FullName;
}
}
protected override void OnMouseDown(MouseEventArgs e)
{
RadScrollBarElement scrollbar= this.GridViewElement.ElementTree.GetElementAtPoint ( e.Location) as RadScrollBarElement;
if (scrollbar!=null && this.IsInEditMode)
{
this.EditorManager.CloseEditorWhenValidationFails = false;
this.EditorManager.CloseEditor();
return;
}
base.OnMouseDown(e);
}
}
Use cases: 1. You have a MainDocumentContainer with Document windows in it, placed in one under the other. Setting the DockState of the bottom DocumentWindow to Hidden, and restoring it afterwards, should place the DocumentWindow at the same place, instead of merging it with the above one 2. Same layout as above, when the layout is saved and then restored, the DocumentWindow positions should be exactly as they were