I was trying to move the NewRow to the bottom of the RadVirtualGrid. This is also supported by its big brother RadGridView. I have now learned that this is not supported by RadVirtualGrid.
Hereby my request: Please support this!
I've created a Harmony patch (which works for me); it might help you if you decide to support it:
static class MoveNewRowToBottom
{
[HarmonyPatch(typeof(VirtualGridTableElement), "InvalidatePinnedRows")]
static class VirtualGridTableElement_InvalidatePinnedRows
{
static private bool _isInvalidating;
static private bool Prefix(VirtualGridTableElement __instance)
{
if (_isInvalidating)
return false;
_isInvalidating = true;
__instance.ViewElement.TopPinnedRows.DisposeChildren();
__instance.ViewElement.BottomPinnedRows.DisposeChildren();
var viewInfo = __instance.ViewInfo;
var rowsViewState = __instance.RowsViewState;
var topPinnedItems = rowsViewState.TopPinnedItems;
var bottomPinnedItems = rowsViewState.BottomPinnedItems;
if (viewInfo.ShowFilterRow)
if (!topPinnedItems.Contains(RadVirtualGrid.FilterRowIndex) && !bottomPinnedItems.Contains(RadVirtualGrid.FilterRowIndex))
rowsViewState.SetPinPosition(RadVirtualGrid.FilterRowIndex, PinnedRowPosition.Top);
if (viewInfo.ShowNewRow)
if (!topPinnedItems.Contains(RadVirtualGrid.NewRowIndex) && !bottomPinnedItems.Contains(RadVirtualGrid.NewRowIndex))
rowsViewState.SetPinPosition(RadVirtualGrid.NewRowIndex, PinnedRowPosition.Top);
if (viewInfo.ShowHeaderRow)
if (!topPinnedItems.Contains(RadVirtualGrid.HeaderRowIndex) && !bottomPinnedItems.Contains(RadVirtualGrid.HeaderRowIndex))
rowsViewState.SetPinPosition(RadVirtualGrid.HeaderRowIndex, PinnedRowPosition.Top);
var elementProvider = __instance.RowScroller.ElementProvider;
var topPinnedRows = __instance.ViewElement.TopPinnedRows;
foreach (int topPinnedRow in topPinnedItems.SortTopRowIndexes())
{
VirtualGridRowElement pinnedRow = (VirtualGridRowElement)elementProvider.GetElement(topPinnedRow, null);
topPinnedRows.Children.Add(pinnedRow);
pinnedRow.Attach(topPinnedRow, null);
}
var bottomPinnedRows = __instance.ViewElement.BottomPinnedRows;
foreach (int bottomPinnedRow in bottomPinnedItems.SortBottomRowIndexes())
{
VirtualGridRowElement pinnedRow = (VirtualGridRowElement)elementProvider.GetElement(bottomPinnedRow, null);
bottomPinnedRows.Children.Add(pinnedRow);
pinnedRow.Attach(bottomPinnedRow, null);
}
_isInvalidating = false;
return false;
}
}
static private IEnumerable<int> SortTopRowIndexes(this ReadOnlyCollection<int> topRowIndexes)
{
var specialRowIndex = topRowIndexes.Where(index => index < 0).ToList();
if (specialRowIndex.Contains(RadVirtualGrid.HeaderRowIndex))
yield return RadVirtualGrid.HeaderRowIndex;
if (specialRowIndex.Contains(RadVirtualGrid.NewRowIndex))
yield return RadVirtualGrid.NewRowIndex;
if (specialRowIndex.Contains(RadVirtualGrid.FilterRowIndex))
yield return RadVirtualGrid.FilterRowIndex;
foreach (var index in topRowIndexes.Where(index => index >= 0))
yield return index;
}
static private IEnumerable<int> SortBottomRowIndexes(this ReadOnlyCollection<int> bottomRowIndexes)
{
foreach (var index in bottomRowIndexes.Where(index => index >= 0))
yield return index;
var specialRowIndex = bottomRowIndexes.Where(index => index < 0).ToList();
if (specialRowIndex.Contains(RadVirtualGrid.FilterRowIndex))
yield return RadVirtualGrid.FilterRowIndex;
if (specialRowIndex.Contains(RadVirtualGrid.NewRowIndex))
yield return RadVirtualGrid.NewRowIndex;
if (specialRowIndex.Contains(RadVirtualGrid.HeaderRowIndex))
yield return RadVirtualGrid.HeaderRowIndex;
}
}
Hi,
when I select the column chooser multiple times via context menu, the column chooser dialog scales multiple times.
Reproduced here with the Telerik sample application. 150 % dpi scaling.
Regards
Erwin
In the ControlDefault theme, editor cell text is misaligned while editing a cell.
How to reproduce: 1. Run the Mail Merge example (QSF) 2. Select the image inside the document and move it to another position
The specified format in the DisplayFormat attribute should be considered when automatically generating the GridViewDateTimeColumn.
public RadForm1()
{
InitializeComponent();
List<Item> items = new List<Item>();
for (int i = 0; i < 5; i++)
{
items.Add(new Item(DateTime.Now.AddDays(i)));
}
this.radGridView1.DataSource = items;
this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
}
public class Item
{
[System.ComponentModel.DisplayName("My Date")]
[System.ComponentModel.DataAnnotations.DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime Date { get; set; }
public Item(DateTime date)
{
this.Date = date;
}
}
This item is migrated to the Telerik Document Processing portal: http://feedback.telerik.com/Project/184/Feedback/Details/190130 Please use the new item for commenting, voting and subscribing instead of this one.
Loading the Examples project fails with missing imported TelerikLicensingVersion.targets file.
In this particular scenario, we have 2 monitors. One with 100 % and one with 150% DPI. When the ScreenTip is shown in 100%, its size is correct. Then if we move the Form to the second monitor that is 150%, the screenTip size is not scaled when shown for the first time. We need to move the mouse to hide and show it again. The second time, the size is correct.
The arrow button click does not work as expected in the latest release version. This is a regression in our latest 2026.2.702 release, where the AllowedClickButtons property is not initialized correctly. We are working on a fix! Please subscribe to this item, and you will receive an email notification when we introduce the fix.
In the meantime, you can apply the following workaround:
this.radDropDownList1.DropDownListElement.ArrowButton.AllowedClickButtons = MouseButtons.Left;Or use v.2026.2.520, where the arrow button functions as usual.
We appreciate your patience and apologize for the inconvenience this issue may have caused.
Clients with perpetual license may observe the following warning when using UI.for.WinForms.AllControls.Net90 (v.2026.1.415):
Telerik and Kendo UI Licensing warning TKL403: Services associated with Telerik Document Processing Libraries version 2026.1.402.80 require a subscription or trial license. Please obtain a subscription license at https://prgress.co/3PwQMKZ
Telerik and Kendo UI Licensing warning TKL004: Unable to locate licenses for all products.
When an appointment has a very short duration (seconds-level, e.g., 1 second and 0 minutes), it does not appear in the RadPrintPreviewDialog. The appointment is visible in the scheduler UI but missing from the print preview.
For example:
Dim ap1 As New AppointmentTo reproduce:
Sub New()
InitializeComponent()
Dim intItem As New PropertyStoreItem(GetType(Integer), "Integer", 1)
Dim floatItem As New PropertyStoreItem(GetType(Single), "Float", 1.0F, "Property storing a floating point value.")
Dim stringItem As New PropertyStoreItem(GetType(String), "String", "telerik", "Property storing a string value", "Telerik")
Dim fontItem As New PropertyStoreItem(GetType(Font), "Font", New Font("Arial", 12, FontStyle.Italic), "Property containing Font value")
fontItem.Attributes.Add(New ReadOnlyAttribute(True))
floatItem.Attributes.Add(New ReadOnlyAttribute(True))
Dim store As New RadPropertyStore
store.Add(intItem)
store.Add(floatItem)
store.Add(stringItem)
store.Add(fontItem)
Me.RadPropertyGrid1.SelectedObject = store
End Sub
Try to edit either the "Float" or the "Font" property. The editor will be activated although it doesn't have to.
Workaround: cancel the Editing event
Private Sub RadPropertyGrid1_Editing(sender As Object, e As PropertyGridItemEditingEventArgs)
If e.Item.Name = "Font" Then
e.Cancel = True
End If
End Sub
An exception is thrown when loading a document:
FileNotFoundException: Could not load file or assembly 'Microsoft.Web.WebView2.WinForms, Version=1.0.3719.77, Culture=neutral, PublicKeyToken=2a8ab48044d2601e' or one of its dependencies. The system cannot find the file specified.