I have several RadGrid in my application. In which the pager mode is set to NextPrevNumericAndAdvanced. And upon changing the page number in text box and hitting 'Enter Key' was working fine. Same was true for page size text box. Recently we upgraded the Telerik controls from version 2008.2.723.20 to 2012.2.815.35. After the upgrade the 'Enter Key' press has stopped working. We also noticed that 'Go' and 'Change' are buttons now instead of links. Please advise.
Though I tried to induced the Enter Key functionality on paging manually through following code, but it is not working. Strangely if I put a break point or put an alert in keyDown javascript function it works. Please help me get this done.
Though I tried to induced the Enter Key functionality on paging manually through following code, but it is not working. Strangely if I put a break point or put an alert in keyDown javascript function it works. Please help me get this done.
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
//Put your JavaScript code here.
function keyDown(e) {
if (e.keyCode == 13) {
//get text box client id to check if it's not empty
var tbCliendId = document.getElementById("tbId").value;
var tb = document.getElementById(tbCliendId);
if (tb.value.length > 0) {
//get "Go" button client ID from the hidden field value
var buttonCliendId = document.getElementById("goLinkId").value;
var button = document.getElementById(buttonCliendId);
button.click();
}
}
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
div
>
<
asp:HiddenField
ID
=
"tbId"
runat
=
"server"
/>
<
asp:HiddenField
ID
=
"goLinkId"
runat
=
"server"
/>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"true"
PageSize
=
"2"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
OnItemCreated
=
"RadGrid1_ItemCreated"
>
<
PagerStyle
Mode
=
"NextPrevNumericAndAdvanced"
AlwaysVisible
=
"true"
/>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"Vendor"
DataField
=
"Vendor"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Address"
DataField
=
"Address"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Bank"
DataField
=
"Bank"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
</
form
>
</
body
>
protected
void
RadGrid1_NeedDataSource(
object
source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
DataTable dt =
new
DataTable();
dt.Columns.Add(
"Vendor"
);
dt.Columns.Add(
"Address"
);
dt.Columns.Add(
"Bank"
);
dt.Rows.Add(
"ABC1"
,
"Address1"
,
"Bank1"
);
dt.Rows.Add(
"ABC2"
,
"Address2"
,
"Bank2"
);
dt.Rows.Add(
"ABC3"
,
"Address3"
,
"Bank3"
);
dt.Rows.Add(
"ABC4"
,
"Address4"
,
"Bank4"
);
dt.Rows.Add(
"ABC5"
,
"Address5"
,
"Bank5"
);
dt.Rows.Add(
"ABC6"
,
"Address6"
,
"Bank6"
);
RadGrid1.DataSource = dt;
}
protected
void
RadGrid1_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridPagerItem)
{
//find the text box
RadNumericTextBox pageNum = (RadNumericTextBox)e.Item.FindControl(
"GoToPageTextBox"
);
tbId.Value = pageNum.ClientID;
//find 'Go' link button
Button goLink = (Button)e.Item.FindControl(
"GoToPageLinkButton"
);
goLinkId.Value = goLink.ClientID;
//attach to onkeydown event
pageNum.Attributes.Add(
"onkeydown"
,
"keyDown(event);"
);
}
}