I think the following skins should not be used with the Classic render mode.
Material, MetroTouch, BlackMetroTouch, Bootstrap, Silk, Glow
But I'm not sure if this is correct since I could not find any documentation on this matter.

I'm mapping locations. some times companies have multiple assets at the same address or same Longitude/Latitude. When this is rendered on the map it shows up as one pin and all the rest get lost in the ether. I ran across some Kendo example that is supposed to pad the pins. It doesn't work. How do we get multiple pins to render at the same location or how do we get one pin to show multiple sets of data?
Map code is pretty simple:
<telerik:RadMap RenderMode="Lightweight" runat="server" ID="mapSite" Zoom="4" CssClass="MyMap Rounded" Width="100%" Height="100%">
<DataBindings>
<MarkerBinding DataShapeField="Shape" DataTitleField="SITE_CITY" DataLocationLatitudeField="Latitude" DataLocationLongitudeField="Longitude" />
</DataBindings>
<LayersCollection>
<telerik:MapLayer Type="Tile" Subdomains="a,b,c"
UrlTemplate="https://#= subdomain #.tile.openstreetmap.org/#= zoom #/#= x #/#= y #.png"
Attribution="">
</telerik:MapLayer>
</LayersCollection>
</telerik:RadMap>
Code behind:
Binding code:
Dim res = From x In db.SITEs
Where x.COMPANY.COMPANY_CODE.Equals(Session("Market").ToString)
Select New clsSiteData With {
.Shape = "PinTarget",
.SITE_ID = x.SITE_ID,
.SITE_CODE = x.SITE_CODE,
.SITE_NAME = x.SITE_NAME,
.SITE_ADDRESS_1 = x.SITE_ADDRESS_1,
.SITE_ADDRESS_2 = x.SITE_ADDRESS_2,
.SITE_CITY = x.SITE_CITY,
.STATE_CODE = x.STATE.STATE_CODE,
.POSTAL_CODE = x.SITE_POSTAL_CODE,
.BUILDING_ID = x.SITE_BUILDING_IDENTIFIER,
.PROPERTY_ID = x.PROPERTY_CODE.PROPERTY_CODE,
.Latitude = If(x.SITE_MAP_LAT, 0),
.Longitude = If(x.SITE_MAP_LON, 0)
}
mapSite.DataSource = res.ToList
mapSite.DataBind()
ItemDataBound:
Private Sub mapSite_ItemDataBound(sender AsObject, e As MapItemDataBoundEventArgs) Handles mapSite.ItemDataBound
Dim htmlTemplate AsStringTry
hlAssInv.Visible = CType(ViewState("Asset"), Boolean)
htmlTemplate = getInnerHTML(tblTemplate)
Dim marker As MapMarker = TryCast(e.Item, MapMarker)
If marker IsNothingThenReturnEndIfDim item As clsSiteData = TryCast(e.DataItem, clsSiteData)
marker.TooltipSettings.Content = [String].Format(htmlTemplate,
item.SITE_CODE,
item.SITE_NAME,
item.SITE_ADDRESS_1,
item.SITE_ADDRESS_2,
item.SITE_CITY,
item.STATE_CODE,
item.POSTAL_CODE,
item.BUILDING_ID,
item.PROPERTY_ID,
item.SITE_ID)
Catch ex As Exception
Dim xxx AsString = ex.Message.ToString
End Try
End Sub
When Static header are enabled and few columns are fixed,
Scenario:
1.If the Start and End Dates range are more than 1 month, the data is not exactly aligned with the Header dates after scrolling towards right.
2.If filter is applied, then the footer is displayed at very bottom.
Hello, as I read from https://docs.telerik.com/devtools/aspnet-ajax/controls/editor/functionality/track-changes-and-comments/track-changes#supported-commands only some track change commands are available.
For example, Delete row or column is not tracking.
So, I wanted to create workaround, which cancels row deletion and instead remove content of the cells (in TrackChange mode just mark as deleted).
I just have the following idea, but it is not delete text:
function OnClientCommandExecuting(editor, args) {
var commandName = args.get_commandName();
var tool = args.get_tool();
var value = args.get_value();
if (commandName === "DeleteRow") {
args.set_cancel(true);
var range = editor.getSelection().getRange();
var tableRow = range.commonAncestorContainer;
while (tableRow && tableRow.tagName !== "TR") {
tableRow = tableRow.parentNode;
}
if (tableRow) {
var cells = tableRow.cells;
for (var i = 0; i < cells.length; i++) {
var cellContent = cells[i].innerHTML;
var cellRange = editor.get_document().createRange();
cellRange.selectNodeContents(cells[i]);
editor.getSelection().selectRange(cellRange);
editor.executeCommand("Backspace", false, true);
}
}
}
}Any ideas to fix? Is it more easy solution? May be add to TR attribute "data-del" and define it in css? Is it possible to resolve it in backend?
Thank you!

Telerik has the little Kendo ninja fellow as a constant icon on the bottom right of the window, and after a few seconds, it slides out to ask "Is this article helpful? Yes/No".
My client wants a timed pop-out similar to that on each page, which after 10-15 seconds asks "Do you want more information? Click here to contact us!" and then redirect to our contact page. Or they can click to make it hide away (until the next page).
I'm suspecting the Notification widget will do this, but I'm not sure where to begin or if there is something better for this purpose. Has anyone done something like this?
Hello,
Is any way to return:
1. Html with Track Change marks and comments to store it in the database for next edit session?
2. Auto accepted html.
I tried in cs: RadEditor1.Content - but it return content without changes, RadEditor1.GetHtml(EditorStripHtmlOptions.AcceptTrackChanges) - but also track changes were not accepted.
Can you provide any example, please?
Thank you!
We have hundreds of log error messages regarding missing or problem loading ButtonSprites.gif.
This issue has been asked in 2019 ticket and we were informed it would be fixed in a new release. It has yet to be fixed, and although I we are not experiencing any obvious issues, other than the error in the log, I have been tasked with resolving this.
The exact message states: "The requested resource 'pTelerik.Web.UI.Skins|Telerik.Web.UI.Skins.Sunset.FormDecorator.ButtonSprites.gif' does not exist or there was a problem loading it."
Please advise.
For reference, see our ticket #1453479
Thank you,
Jeff.

So, first off, I am very new to programming and just started a position, but I have been working on an item for a bit now and am struggling to get it to work correctly. I get stuck on a spceific line of code and I am not sure how to handle it as they are not text boxes. The errors I get are as follows:
System.InvalidCastException: 'Unable to cast object of type 'Telerik.Web.UI.GridTextBoxColumnEditor' to type 'System.IConvertible'.'
For this line:
cmd.Parameters.Add("@Fill_Qty", SqlDbType.Int).Value = System.Convert.ToInt32(fillQtyEditor)
I also believe this will effect the maint_date and active_indicator cmds as well and would like any feedback. Additionally, the cmd that I am using for sql the values are null so seems to be bypassing that as well. I have scoured this site and documentation which has helped somewhat but nothing specific to this.
Protected Sub RadGrid1_ItemCreated(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) If e.Item.IsInEditMode Then Dim item As Telerik.Web.UI.GridEditableItem = TryCast(e.Item, Telerik.Web.UI.GridEditableItem) ' Add validator for PortalID (Non-nullable) Dim portalIDEditor As Telerik.Web.UI.GridTextBoxColumnEditor = CType(item.EditManager.GetColumnEditor("PortalID"), Telerik.Web.UI.GridTextBoxColumnEditor) AddRequiredFieldValidator(portalIDEditor.TextBoxControl, "PortalID") ' Add validator for asset_sn (Non-nullable) Dim assetSNEditor As Telerik.Web.UI.GridTextBoxColumnEditor = CType(item.EditManager.GetColumnEditor("asset_SN"), Telerik.Web.UI.GridTextBoxColumnEditor) AddRequiredFieldValidator(assetSNEditor.TextBoxControl, "Asset Serial Number") ' Add validator for asset_model (Nullable) Dim assetModelEditor As Telerik.Web.UI.GridTextBoxColumnEditor = CType(item.EditManager.GetColumnEditor("asset_model"), Telerik.Web.UI.GridTextBoxColumnEditor) AddRequiredFieldValidator(assetModelEditor.TextBoxControl, "Asset Model") ' Add validator for asset_location (Nullable) Dim assetLocEditor As Telerik.Web.UI.GridTextBoxColumnEditor = CType(item.EditManager.GetColumnEditor("asset_location"), Telerik.Web.UI.GridTextBoxColumnEditor) AddRequiredFieldValidator(assetLocEditor.TextBoxControl, "Location") ' Add validator for Fill_qty (Nullable but must be numeric if provided) Dim fillQtyEditor As Telerik.Web.UI.GridTextBoxColumnEditor = CType(item.EditManager.GetColumnEditor("Fill_qty"), Telerik.Web.UI.GridTextBoxColumnEditor) AddNumericValidator(fillQtyEditor.TextBoxControl, "Fill Quantity") Dim maintEditor As Telerik.Web.UI.GridDateTimeColumnEditor = CType(item.EditManager.GetColumnEditor("maint_Date"), Telerik.Web.UI.GridDateTimeColumnEditor) Dim actIndEditor As Telerik.Web.UI.GridCheckBoxColumnEditor = CType(item.EditManager.GetColumnEditor("active_indicator"), Telerik.Web.UI.GridCheckBoxColumnEditor) Dim notesEditor As Telerik.Web.UI.GridTextBoxColumnEditor = CType(item.EditManager.GetColumnEditor("Notes"), Telerik.Web.UI.GridTextBoxColumnEditor) ' Checks to see if items if item is 'PerformInsert' else check if it is 'UpdateButton' Dim buttonName As String = If(TypeOf item Is Telerik.Web.UI.IGridInsertItem, "PerformInsertButton", "UpdateButton") TryCast(item.FindControl(buttonName), Button).ValidationGroup = "gridFormValidation" Dim objConnection As SqlConnection Dim strSQL As String objConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("DC2_Data_WarehouseConnectionString_PRODUCTION").ConnectionString) ' Insert record strSQL = "INSERT INTO [data_warehouse].[dbo].[t_d_ATracker] ([PortalID],[asset_SN],[Fill_Qty],[Maint_Date],[asset_location],[asset_model],[active_indicator],[Asset_Notes]) " & "VALUES (@PortalID, @asset_SN, @Fill_Qty, @Maint_Date, @asset_location, @asset_model, @active_indicator, @Asset_Notes);" & "SELECT CAST(scope_identity() AS int);" Dim cmd As New SqlCommand(strSQL, objConnection) ' Add parameters cmd.Parameters.Add("@PortalID", SqlDbType.VarChar, 10).Value = portalIDEditor.Text cmd.Parameters.Add("@asset_SN", SqlDbType.VarChar, 20).Value = assetSNEditor.Text cmd.Parameters.Add("@Fill_Qty", SqlDbType.Int).Value = System.Convert.ToInt32(fillQtyEditor) cmd.Parameters.Add("@Maint_Date", SqlDbType.Date).Value = maintEditor cmd.Parameters.Add("@asset_location", SqlDbType.VarChar, 20).Value = assetLocEditor.Text cmd.Parameters.Add("@asset_model", SqlDbType.VarChar, 20).Value = assetModelEditor.Text cmd.Parameters.Add("@active_indicator", SqlDbType.Bit).Value = actIndEditor cmd.Parameters.Add("@Asset_Notes", SqlDbType.VarChar, -1).Value = notesEditor.Text End If End Sub
Private Sub AddRequiredFieldValidator(textBox As TextBox, fieldName As String)
Dim validator As New CustomValidator()
validator.ID = "CustomValidator_" & fieldName.Replace(" ", "_")
validator.ControlToValidate = textBox.ID
validator.ValidateEmptyText = True
validator.ErrorMessage = String.Format("* {0} is required", fieldName)
validator.ForeColor = Color.OrangeRed
validator.ClientValidationFunction = "requiredFieldValidation"
validator.ValidationGroup = "gridFormValidation"
AddHandler validator.ServerValidate, AddressOf RequiredField_ServerValidate
textBox.Parent.Controls.Add(validator)
End Sub
Private Sub AddNumericValidator(textBox As TextBox, fieldName As String)
Dim validator As New CustomValidator()
validator.ID = "CustomValidator_" & fieldName.Replace(" ", "_")
validator.ControlToValidate = textBox.ID
validator.ValidateEmptyText = True
validator.ErrorMessage = String.Format("* {0} must be a numeric value", fieldName)
validator.ForeColor = Color.OrangeRed
validator.ClientValidationFunction = "numericFieldValidation"
validator.ValidationGroup = "gridFormValidation"
AddHandler validator.ServerValidate, AddressOf NumericField_ServerValidate
textBox.Parent.Controls.Add(validator)
End Sub
Protected Sub RequiredField_ServerValidate(source As Object, args As ServerValidateEventArgs)
args.IsValid = Not String.IsNullOrWhiteSpace(args.Value)
End Sub
Protected Sub NumericField_ServerValidate(source As Object, args As ServerValidateEventArgs)
Dim value As String = args.Value.Trim()
args.IsValid = String.IsNullOrEmpty(value) OrElse IsNumeric(value)
End Sub

