Since it is hard to determine that the RadGrid1 button column has triggered the AJAX request, you need to attach a click handler to all buttons from the column on the server and use an additional flag:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
script
runat
=
"server"
>
protected void RadGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
DataTable dt = new DataTable();
DataRow dr;
int colsNum = 4;
int rowsNum = 15;
string colName = "Column";
for (int j = 1; j <= colsNum; j++)
{
dt.Columns.Add(String.Format("{0}{1}", colName, j));
}
for (int i = 1; i <= rowsNum; i++)
{
dr = dt.NewRow();
for (int k = 1; k <= colsNum; k++)
{
dr[String.Format("{0}{1}", colName, k)] = String.Format("{0}{1} Row{2}", colName, k, i);
}
dt.Rows.Add(dr);
}
(sender as RadGrid).DataSource = dt;
}
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
((e.Item as GridDataItem)["gbcAdd"].Controls[0] as Button).OnClientClick = "isRadGrid1ButtonPressed = true;";
}
}
</
script
>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<
head
id
=
"Head1"
runat
=
"server"
>
<
meta
http-equiv
=
"content-type"
content
=
"text/html;charset=utf-8"
/>
<
title
>RadControls</
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
/>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Vista"
OnClientShowing
=
"MyClientShowing"
/>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
DefaultLoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<
ClientEvents
OnRequestStart
=
"MyRequestStart"
/>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid2"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid2"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid2"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
script
type
=
"text/javascript"
>
var isRadGrid1Initiator = false;
var isRadGrid1ButtonPressed = false;
function MyRequestStart(sender, args)
{
if (!isRadGrid1ButtonPressed && args.get_eventArgument().indexOf("RowDropped") == -1 && args.get_eventTarget().indexOf("RadGrid1") != -1)
isRadGrid1Initiator = true;
}
function MyClientShowing(sender, args)
{
if (isRadGrid1Initiator && args.get_updatedElement().id.indexOf("RadGrid2") != -1)
{
args.set_cancelNativeDisplay(true);
isRadGrid1Initiator = false;
}
isRadGrid1ButtonPressed = false;
}
</
script
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
Skin
=
"Vista"
AllowPaging
=
"true"
OnNeedDataSource
=
"RadGrid_NeedDataSource"
OnItemCreated
=
"RadGrid1_ItemCreated"
>
<
ClientSettings
AllowRowsDragDrop
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridButtonColumn
UniqueName
=
"gbcAdd"
Text
=
" "
HeaderText
=
"Add"
ButtonType
=
"PushButton"
ButtonCssClass
=
"rgAdd"
Visible
=
"true"
CommandName
=
"AddUser"
>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
br
/><
br
/>
<
telerik:RadGrid
ID
=
"RadGrid2"
runat
=
"server"
Skin
=
"Vista"
AllowPaging
=
"true"
OnNeedDataSource
=
"RadGrid_NeedDataSource"
>
</
telerik:RadGrid
>
</
form
>
</
body
>
</
html
>