I have inherited a legacy ASP.NET project that uses Telerik controls. The first step was to upgrade
the Telerik components, and I have upgraded them from quite old versions (don't recall the exact
version numbers or dates) to 2016.1.412.35, which show up like so (Auto Update) in the project's
property page (screen shot that demonstrates this uploaded).
I can run the site and try to log in, but then as the GUI is updated based on the login success and
values, I get a Telerik exception regarding the inability to find an embedded skin ("Forest" in my
case).
The markup that apparently is the culprit is:
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Direction="RightToLeft"
MinDisplayTime="200" BorderStyle="none" BorderColor="Orange" BorderWidth="1px" InitialDelayTime="5"
runat="server" Skin="Forest" EnableViewState="true" EnableSkinTransparency="true"
EnableAjaxSkinRendering="true" />
(specifically the "Skin="Forest"" part).
In case it's of value, this is the full exception, as shown in the browser:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Server Error in '/' Application.
Telerik.Web.UI.RadAjaxLoadingPanel with ID='RadAjaxLoadingPanel1' was unable to find an embedded skin
with the name 'Forest'. Please, make sure that the skin name is spelled correctly and that you have
added a reference to the Telerik.Web.UI.Skins.dll assembly in your project. If you want to use a
custom skin, set EnableEmbeddedSkins=false.
Description: An unhandled exception occurred during the execution of the current web request. Please
review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: Telerik.Web.UI.RadAjaxLoadingPanel with
ID='RadAjaxLoadingPanel1' was unable to find an embedded skin with the name 'Forest'. Please, make
sure that the skin name is spelled correctly and that you have added a reference to the
Telerik.Web.UI.Skins.dll assembly in your project. If you want to use a custom skin, set
EnableEmbeddedSkins=false.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information
regarding the origin and location of the exception can be identified using the exception stack trace
below.
Stack Trace:
[InvalidOperationException: Telerik.Web.UI.RadAjaxLoadingPanel with ID='RadAjaxLoadingPanel1' was
unable to find an embedded skin with the name 'Forest'. Please, make sure that the skin name is
spelled correctly and that you have added a reference to the Telerik.Web.UI.Skins.dll assembly in
your project. If you want to use a custom skin, set EnableEmbeddedSkins=false.]
Telerik.Web.SkinRegistrar.GetEmbeddedSkinAttributes(ISkinnableControl control, Type controlType,
Boolean designTime) +630
Telerik.Web.SkinRegistrar.GetEmbeddedSkinAttributes(ISkinnableControl control, Type controlType)
+39
Telerik.Web.SkinRegistrar.RegisterCssReferences(ISkinnableControl control) +373
Telerik.Web.UI.RadAjaxLoadingPanel.RegisterCssReferences() +89
Telerik.Web.UI.RadAjaxLoadingPanel.ControlPreRender() +128
Telerik.Web.UI.RadAjaxLoadingPanel.OnPreRender(EventArgs e) +47
System.Web.UI.Control.PreRenderRecursiveInternal() +80
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean
includeStagesAfterAsyncPoint) +842
Version Information: Microsoft .NET Framework Version:2.0.50727.5485; ASP.NET Version:2.0.50727.5491
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are many places in the code where "Forest" is explicitly referenced. Do I really need to remove
all these? If so, what can I replace it with? Can I use the "Default" theme?
I wonder why (if it's really so) that upgrading Telerik versions make old skins invalid?
Can I salvage the existing GUI code? The project has an App_Themes folder which has, not only the
"Forest" Theme, but many others:
(another screen shot uploaded that shows this).
I have a feeling if I really do need to eliminate the explicit references to "Forest", that will only
be the tip of the iceberg, so to speak.
So my first preference would be to somehow still be able to reference these themes, and my second
would be a quick way to prevent all these errors by perhaps using one theme for everything in some
overriding global setting.
So how can I either continue to utilize legacy Telerik themes, or what is a relatively painlessly workaround
for the litany of errors that are bound (no pun intended) to otherwise occur?
For a version of the question with inline screenshots, see http://stackoverflow.com/questions/41129149/how-can-i-continue-to-utilize-legacy-telerik-themes-after-upgrading
Hi,
In one of my RadGrid after enabling the render mode="Mobile" the Excel like filtering is not coming. If the Render mode ="Auto" then the filter menu will come in desktop but not in the mobile device.
Please find the attached screen shot
Please let me know inorder for the excel filter option to come in mobile device with RenderMode="Auto" What settings i have to do.
Hi, I'm using ClientDataSource connected to a webservice and using OnCustomParameter to customize the data request.
I noticed that if I changed several fields for a data item and updated the clientdatasource, then for each field modified a request is sent to the webservice.
Each request has a single field changed from the previous one.
Suppose I have in a dataitem 4 fields (a,b,c,d) with their initial value to 1,
now I need to modify them to {a : 2, b:2, c:2, d:2}
when I update the clientdatasource the following requests are sent:
request1: {a:2,b:1,c:1,d:1}
request2: {a:2,b:2,c:1,d:1}
request3: {a:2,b:2,c:2,d:1}
request4: {a:2,b:2,c:2,d:2}
Is there a way to only send the final request? i.e. I want to get all the data updated before syncing.
function
Master_PerformFullPostBackWaitScreen(ValidationGroup) {
var
valid =
true
;
if
(Master_ByPassPostBackWaitScreen) {
Master_ByPassPostBackWaitScreen =
false
;
return
;
}
var
rwMasterPage_FullScreenWaitWindow = $find(
'<%=rwMasterPage_FullScreenWaitWindow.ClientID %>'
);
if
(ValidationGroup !=
null
) {
Page_ClientValidate(ValidationGroup);
valid = Page_IsValid;
}
if
((rwMasterPage_FullScreenWaitWindow !=
null
) && (valid)) rwMasterPage_FullScreenWaitWindow.show();
}
<
telerik:Button
ID
=
"btnCustomerProfile_AccountInformationSave"
runat
=
"server"
Text
=
"Save"
onclick
=
"btnCustomerProfile_AccountInformationSave_Click"
ValidationGroup
=
"vgAccountInformation"
Visible
=
"false"
OnClientClick
=
"Master_PerformFullPostBackWaitScreen('vgAccountInformation')"
/>
<
telerik:RadButton
ID
=
"btnCustomerProfile_AccountInformationSave"
runat
=
"server"
Text
=
"Save"
onclick
=
"btnCustomerProfile_AccountInformationSave_Click"
ValidationGroup
=
"vgAccountInformation"
Visible
=
"false"
OnClientClicked
=
"Master_PerformFullPostBackWaitScreen_RadButton"
CommandName
=
"Save"
CommandArgument
=
"vgAccountInformation"
Icon-PrimaryIconUrl
=
"../images/icons/save16x16.gif"
/>
function
Master_PerformFullPostBackWaitScreen_RadButton(sender, eventArgs) {
Master_PerformFullPostBackWaitScreen(sender.get_commandArgument())
}
In the RadFileExplorer I am trying to figure out how to hide the subfolders.
currently I have this which is filter and only showing the file types I want to show.
I have tried to send an empty Array into the Directories but it is still shwing all the sub folders.
public class ExtendedFileProvider : FileSystemContentProvider
{
//constructor must be present when overriding a base content provider class
//you can leave it empty
public ExtendedFileProvider(HttpContext context, string[] searchPatterns, string[] viewPaths, string[] uploadPaths, string[] deletePaths, string selectedUrl, string selectedItemTag)
: base(context, searchPatterns, viewPaths, uploadPaths, deletePaths, selectedUrl, selectedItemTag)
{
}
public override DirectoryItem ResolveDirectory(string path)
{
//get the directory information
DirectoryItem baseDirectory = base.ResolveDirectory(path);
//remove files that we do not want to see
List<
FileItem
> files = new List<
FileItem
>();
foreach (FileItem file in baseDirectory.Files)
{
if (file.Name.Contains(".pdf") || file.Name.Contains(".doc") || file.Name.Contains(".docx") || file.Name.Contains(".zip"))
{
files.Add(file);
}
}
List<
DirectoryItem
> dirs = new List<
DirectoryItem
>();
dirs.Clear();
DirectoryItem newDirectory = new DirectoryItem(baseDirectory.Name, baseDirectory.Location, baseDirectory.FullPath, baseDirectory.Tag, baseDirectory.Permissions, files.ToArray(),dirs.ToArray());
//return the updated directory information
return newDirectory;
}
}
I need to disable highlight of menu on mouseover. Enable="false" works, but make my image pale
<telerik:RadMenuItem ImageUrl="graphics/Users.png" enabled="false"
tooltip="User Resources"
style="margin-left:318px;"
onmouseover="showMenu(event)"/>
Hi Folks,
is it possible to allow only specific shape types to be resizable, i.e. rectangles can be resized, but circles not?
Best regards,
Hans
hi, we are facing the following issue because of using a RAD SPLITTER.
Check the attachment for the screen shot. you can see a highlighted green border with yellow shade. That part is placed as a rad-splitter like below in a master page.
telerik:RadSplitter ID="RadSplitter1" runat="server" BorderSize="0" CssClass="radsp">
<
telerik:RadPane
ID
=
"RadPane1"
Scrolling
=
"Y"
runat
=
"server"
ContentUrl
=
"Dashboard.aspx"
Height
=
"100%"
</telerik:RadPane>
</
telerik:RadSplitter
>
Using java script we are changing the contentUrl.
The purpose of using radsplitter is :
- To Avoid whole page refresh. the left pane and the top pane will stay and will not refresh every time.
- To hide the each page url.
Here is the issues that we are facing,
- Since telerik splitter renders as a iframe in run time, we are not able to make the UI responsive.
- When we zoom in or out we need to give a whole page refresh to see the whole page ( the bottom part is getting hidden.)
- And Many more...
Is there any other option to achieve this 2 points, without splitter?
- To Avoid whole page refresh. the left pane and the top pane will stay and will not refresh every time.
- To hide the each page url.
How can we have a call with telerik team about this issue and some more to be discussed. How to have a call over phone/Skype with telerik team?
Thanks
The column width on the Telerik Grid have plagued me for some time now. I could never set the width of the column inline for some reason.
This evening I have finally figured out what is causing my issue, and I wanted to share just in case anyone else was having this problem.
Let us take the following Grid for example;
<
telerik:RadGrid
ID
=
"PersonListingRadGrid"
runat
=
"server"
Height
=
"500px"
Width
=
"500px"
DataSourceID
=
"ThisDataSource"
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"true"
ScrollHeight
=
"552px"
UseStaticHeaders
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"ID"
DataSourceID
=
"ThisDataSource"
AutoGenerateColumns
=
"False"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ID"
ReadOnly
=
"True"
HeaderText
=
"ID"
SortExpression
=
"ID"
UniqueName
=
"ID"
DataType
=
"System.Guid"
FilterControlAltText
=
"Filter ID column"
Display
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DisplayName"
HeaderText
=
"DisplayName"
SortExpression
=
"DisplayName"
UniqueName
=
"DisplayName"
FilterControlAltText
=
"Filter ID column"
>
<
HeaderStyle
Width
=
"75%"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"BirthDate"
HeaderText
=
"BirthDate"
SortExpression
=
"BirthDate"
UniqueName
=
"BirthDate"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter BirthDate column"
>
<
HeaderStyle
Width
=
"25%"
/>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
Notice that the first column(ID) is set to Display="false", the second and third columns both have widths, 75% and 25% respectively. If you were to run the application with the Grid the way it is, the column widths that you desire will not display correctly. When the page loads your grid will display your two columns but the problem is, your DisplayName column will be the wrong width.
The reason?
If you have to use a column in your grid, but you do not want it to display; you HAVE to put that column BENEATH the columns you wish to display. What I noticed was, in my mastertableview column stack, I had two hidden columns above the rest of my columns. The third column in the stack was the first column I styled, but for some reason it wasn't styled when I ran the application. When it displayed, my desired column was not styled but the third column was!
The columns are indexed based, and if you have set a column's display to false then they are not counted in the index. So you may have styled your third column in the markup, but when it was time to compile, the index of that column changed. The index of the styling however did not.
Hello,
I've looked through the forums with no luck for the specifics required.
I have the need to select the current row of the grid where the cell is being edited. When using a mouse click, the desired row is selected. However, when using the Tab Key (or arrow keys), the row is not selected. I have tried finding the proper event that has a rowindex type argument to use to select the current row, but have failed so far.
Note: This is for a grid in Batch Edit mode, so I need to do this solely on the Client side.
Thanks in advance,
g.