<
telerik:RadNumericTextBox
Width
=
"100px"
ID
=
"txtTest"
EmptyMessage
=
"Test"
ShowSpinButtons
=
"false"
DisplayText
=
""
Type
=
"Number"
runat
=
"server"
InvalidStyleDuration
=
"100"
>
<
NumberFormat
AllowRounding
=
"false"
GroupSeparator
=
""
DecimalDigits
=
"15"
KeepNotRoundedValue
=
"true"
/>
<
ClientEvents
OnKeyPress
=
"keyPress"
OnValueChanged
=
"valueChanged"
/>
</
telerik:RadNumericTextBox
>
Telerik.Web.UI.RadNumericTextBox.prototype._compileRegEx = function () {
var regexDecimalSeparator = this.get_numberFormat().DecimalSeparator == "." ? "\\." : this.get_numberFormat().DecimalSeparator;
this._acceptRegExp = new RegExp("[e0-9" + regexDecimalSeparator + this.get_numberFormat().NegativeSign + "]{1}");
this._rejectRegExp = new RegExp("[^e0-9" + regexDecimalSeparator + this.get_numberFormat().NegativeSign + "]{1}", "g");
this._decimalReplaceRegExp = new RegExp(regexDecimalSeparator, "g");
};
var orgNegativeSign = "";
function keyPress(sender, args) {
if (args.get_keyCode() == 45) {
orgNegativeSign = sender.get_numberFormat().NegativeSign;
sender.get_numberFormat().NegativeSign = "~";
}
}
function valueChanged(sender, args) {
if (orgNegativeSign != "") {
sender.get_numberFormat().NegativeSign = orgNegativeSign;
orgNegativeSign = "";
}
}
01.
protected void RadGridMain_OnItemCommand(object sender, GridCommandEventArgs e)
02.
{
03.
if (e.CommandName == RadGrid.InitInsertCommandName)
04.
{
05.
RadGridMain.MasterTableView.EditFormSettings.UserControlName = "~/Insert.ascx"
06.
07.
// Set up the control
08.
Control control = Page.LoadControl("~/Insert.ascx");
09.
RadGrid radGridInsert = control.FindControl("radGridInsert") as RadGrid;
10.
11.
radGridInsert.NeedDataSource += RadGridInsertSelector_OnNeedDataSource;
12.
13.
// give the child a handle to the parent
14.
PSC.Controls.UdcsConnectionInsert.ParentRadGrid = RadGridMain;
15.
}
16.
else if (e.CommandName == RadGrid.EditCommandName)
17.
{
18.
RadGridMain.MasterTableView.EditFormSettings.UserControlName = "~/Edit.ascx";
19.
}
20.
}
ParentRadGrid.MasterTableView.IsItemInserted = false;
GridEditFormItem editFormItem = e.Item as GridEditFormItem;
GridDataItem parentItem = editFormItem.ParentItem;
parentItem.EditFormItem.Edit = false;
Hi,
I'm working on fixing web accessibility errors. I have a RadGrid (see attachment) with more than 10 columns. When I want to edit a particular row in the grid, all my editable fields have accessibility errors (no labels, titles, or aria-labels for displayed textboxes/dropdown lists). I'm trying to figure out what properties of radgrid or it's components I can use so that each field on my page will be web accessible in edit mode. I know that I can use code behind to set a tooltip of a particular item on my page (see below) to some value; however, it's not a good solution since I have more than 10 columns in my grid. Let me know if there is a better way to solve the web accessibility problems for editable items on my page.
If TypeOf (e.Item) Is GridEditableItem AndAlso e.Item.IsInEditMode Then
Dim item As GridEditableItem = DirectCast(e.Item, GridEditableItem)
Dim txtBox As TextBox = DirectCast(item("CllctnID").Controls(0), TextBox)
txtBox.ToolTip = "hello"
End If
Thank you,
Lyubov
Good afternoon everyone,
I'm working on a conversion to an async/client-side UI. I know that RadGrid's are rather touchy about master/detail/hierarchical grid types being bound client side, and in addition I need Export functionality on some grids. This is leading to some of the grids being bound the "old" way, via ItemDataBound, NeedDataSource, etc.
What I'm wondering is if the situation is supported in making an ItemDataBound function asynchronous.
For example, I have a grid that displays a set of schedules, and a detail grid that displays a set of backups set to fire on said schedule. There is some parsing that needs to happen in the code-behind ItemDataBound method (setting Image URLs, Tooltips, parsing Recurrence Rules, etc). Is it possible to make those methods asynchronous?
Thanks in advance!
Example:
protected
async Task rgrdSchedules_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridDataItem)
{
var myItem = (GridDataItem)e.Item;
var taskScheduleGet = await IceApi.ExecuteGet<Schedule>(
"url/to/resource/" + myItem.GetDataKeyValue("ScheduleId").ToString()
);
// Do Independent Work (Image URLs, ToolTips, etc) //
Schedule mySchedule = await taskScheduleGet;
// Do bindings to mySchedule
}
}
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.