or
<
div
class
=
"my_Table"
style
=
"overflow:auto;"
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"radgrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"radgrid1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Height
=
"75px"
Width
=
"75px"
Transparency
=
"25"
>
<
img
alt
=
"Loading..."
src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>'
style="border: 0;" /></
telerik:RadAjaxLoadingPanel
>
<
telerik:RadGrid
ID
=
"radgrid1"
runat
=
"server"
ShowStatusBar
=
"True"
ShowFooter
=
"True"
OnItemCommand
=
"radgrid1_ItemCommand"
OnDeleteCommand
=
"radgrid1_DeleteCommand"
OnInsertCommand
=
"radgrid1_InsertCommand"
OnUpdateCommand
=
"radgrid1_UpdateCommand"
OnNeedDataSource
=
"radgrid1_NeedDataSource"
OnItemDataBound
=
"radgrid1_ItemDataBound"
OnPreRender
=
"radgrid1_PreRender"
CellSpacing
=
"0"
GridLines
=
"None"
>
<
MasterTableView
DataKeyNames
=
"ProductNumber"
AutoGenerateColumns
=
"false"
EditMode
=
"InPlace"
CommandItemSettings-ShowRefreshButton
=
"false"
CommandItemDisplay
=
"Bottom"
CommandItemSettings-AddNewRecordText
=
"Add New Order"
>
<
Columns
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
EnableRowHoverStyle
=
"true"
>
</
ClientSettings
>
</
telerik:RadGrid
>
</
div
>
public
class
GridContextMenu : RadContextMenu
{
...
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
var contextMenu =
new
Parus.Controls.GridContextMenu();
var target =
new
ContextMenuControlTarget();
target.ControlID =
this
.GridControl.ID;
contextMenu.ID =
this
.GridControl.ID +
"_RadMenu"
;
CreateContextItems(contextMenu.Items,
this
.Frame.ViewFrameData.ActionItems);
contextMenu.LinkedControlClientId = ServerRequest.ClientID;
contextMenu.OnClientItemClicked =
"GridContextMenu_ActionsHandler"
;
contextMenu.Targets.Add(target);
this
.PostbackPanel.ContentTemplateContainer.Controls.Add(contextMenu);
...
}
OnClientTabSelected = "alert('blah');"
<%@ Page Language="C#" AutoEventWireup="True" Inherits="PL.Test" Codebehind="Test.aspx.cs" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
id
=
"Head1"
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock1"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function onTabSelecting(sender, args) {
if (args.get_tab().get_pageView()) {
if (args.get_tab().get_pageView().get_id()) {
alert("pageview of ID: " + args.get_tab().get_pageView().get_id() + " already loaded");
args.get_tab().set_postBack(false);
}
}
}
</
script
>
</
telerik:RadCodeBlock
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
/>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadTabStrip1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadTabStrip1"
>
</
telerik:AjaxUpdatedControl
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadMultiPage1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
>
</
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadMultiPage1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadMultiPage1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
>
</
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxManager1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadTabStrip1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
>
</
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"WebBlue"
/>
<
telerik:RadTabStrip
ID
=
"RadTabStrip1"
runat
=
"server"
AutoPostBack
=
"false"
Skin
=
"WebBlue"
EnableDragToReorder
=
"true"
MultiPageID
=
"RadMultiPage1"
Orientation
=
"HorizontalTop"
SelectedIndex
=
"0"
OnTabClick
=
"RadTabStrip1_TabClick"
OnClientTabSelecting
=
"onTabSelecting"
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
ID
=
"RadMultiPage1"
runat
=
"server"
SelectedIndex
=
"0"
OnPageViewCreated
=
"RadMultiPage1_PageViewCreated"
>
</
telerik:RadMultiPage
>
</
form
>
</
body
>
</
html
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
namespace
PL
{
public
partial
class
Test : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
CreateTabs();
}
}
private
void
CreateTabs()
{
AddNewTab(1);
AddNewTab(2);
AddNewTab(3);
AddNewTab(4);
RadTabStrip1.DataBind();
}
private
void
AddNewTab(
int
intTabIndex)
{
RadTab rootTab =
null
;
RadPageView pv =
null
;
rootTab =
new
RadTab();
RadTabStrip1.Tabs.Add(rootTab);
rootTab.Text =
"Tab"
+
" "
+ intTabIndex.ToString();
rootTab.Value =
"Tab_"
+ intTabIndex.ToString();
if
(intTabIndex == 1)
{
pv =
new
RadPageView();
pv.ID = rootTab.Value;
RadMultiPage1.PageViews.Add(pv);
RadTabStrip1.Tabs[RadTabStrip1.Tabs.Count - 1].Selected =
true
;
RadMultiPage1.PageViews[RadMultiPage1.PageViews.Count - 1].Selected =
true
;
}
}
protected
void
RadMultiPage1_PageViewCreated(
object
sender, RadMultiPageEventArgs e)
{
Console.WriteLine(e.PageView.ID);
}
protected
void
RadTabStrip1_TabClick(
object
sender, RadTabStripEventArgs e)
{
AddPageView(e.Tab);
e.Tab.PageView.Selected =
true
;
}
private
void
AddPageView(RadTab tab)
{
RadPageView pv =
new
RadPageView();
pv.ID = tab.Value;
RadMultiPage1.PageViews.Add(pv);
tab.PageViewID = pv.ID;
}
}
}