Jun 02, 2011, 4:35 PM
[CLOSED] Add Activate Event to dynamically created tabs
Hi,
In following code sample tabs are creating dynamically and adding activate event to those tabs. In activate event firing javascript to call DirectMethod. Case 1: While adding any new tab dynamically and assigning tabindex to new tab, the first tab activate event is firing and then the new tab activate event is firing.
Case 2: Before adding new tab just click on any tab and then add new tab, the last tab event which one created before adding new tab activate event is firing, then the first tab activate event, then the latest new tab event is firing.
Can you please let me know why javascript is calling while creating tabs dynamically and even the setting active index to newly created tab why first tab is always firing the event?
In following code sample tabs are creating dynamically and adding activate event to those tabs. In activate event firing javascript to call DirectMethod. Case 1: While adding any new tab dynamically and assigning tabindex to new tab, the first tab activate event is firing and then the new tab activate event is firing.
Case 2: Before adding new tab just click on any tab and then add new tab, the last tab event which one created before adding new tab activate event is firing, then the first tab activate event, then the latest new tab event is firing.
Can you please let me know why javascript is calling while creating tabs dynamically and even the setting active index to newly created tab why first tab is always firing the event?
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if(!Ext.Net.X.IsAjaxRequest)
CheckLoadingFile();
}
public void CheckLoadingFile()
{
SortedList sLoansToOpen;
if (Session["AppListToOpen"] != null)
{
sLoansToOpen = (SortedList)Session["AppListToOpen"];
if (sLoansToOpen.Count > 0)
{
LoadAppTabs();
pnlFooter.Show();
}
else
{
pnlFooter.Hide();
}
}
else
{
pnlFooter.Hide();
}
vpCommonPage.DoLayout();
}
public void LoadAppTabs()
{
Ext.Net.Panel pnlApp;
SortedList sAppList;
if (Session["AppListToOpen"] != null)
{
sAppList = (SortedList)Session["AppListToOpen"];
for (int i = 0; i < sAppList.Count; i++)
{
pnlApp = new Ext.Net.Panel();
pnlApp.ID = "App" + sAppList.GetKey(i).ToString();
if (sAppList[sAppList.GetKey(i)].ToString().Trim().Length > 0)
pnlApp.Title = sAppList[sAppList.GetKey(i)].ToString();
else
pnlApp.Title = sAppList.GetKey(i).ToString();
pnlApp.Closable = true;
pnlApp.Listeners.Close.Handler = "CloseAppPanel('" + sAppList.GetKey(i).ToString() + "')";
pnlApp.Listeners.Activate.Handler = "OpenLoanSpecifcPages('" + sAppList.GetKey(i).ToString() + "')";
pnlApp.AddTo(tbApplications);
}
tbApplications.ActiveTabIndex = sAppList.IndexOfKey(sAppList.Count);
}
}
public void btnAdd_Click(object sender, DirectEventArgs e)
{
SortedList sAppList;
int keyVal;
sAppList = (SortedList)Session["AppListToOpen"];
if (sAppList == null)
sAppList = new SortedList();
keyVal = sAppList.Count;
if (sAppList.Count > 0)
{
while (sAppList.ContainsKey(keyVal + 1))
{
keyVal += 1;
}
sAppList.Add(keyVal + 1, "Panel " + (keyVal + 1));
}
else
sAppList.Add(1, "Panel 1");
Session["AppListToOpen"] = sAppList;
CheckLoadingFile();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
var CloseAppPanel = function (appid) {
//alert(appid);
//Ext.net.DirectMethods.CloseApplication(appid);
}
var OpenLoanSpecifcPages = function (appid) {
alert("Hi " + appid)
//Ext.net.DirectMethods.pnlLoanTabsActivate(appid);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Viewport runat="server" Layout="border" ID="vpCommonPage">
<Items>
<ext:Panel ID="pnlMain" runat="server" Padding="5" Region="Center" BodyStyle="background-color:#DCEAFB">
<Items>
<ext:Button ID="btnAddPanel" Text="Add Panel" runat="server">
<DirectEvents>
<Click OnEvent="btnAdd_Click">
</Click>
</DirectEvents>
</ext:Button>
</Items>
</ext:Panel>
<ext:Panel ID="pnlFooter" runat="server" Region="South" Height="45" Margins="0,0,0,0"
Border="false">
<Items>
<ext:TabPanel ID="tbApplications" runat="server" Height="45" AnchorHorizontal="100%"
Border="false" IDMode="Explicit">
<Items>
</Items>
</ext:TabPanel>
</Items>
</ext:Panel>
</Items>
</ext:Viewport>
</div>
</form>
</body>
</html>
Last edited by Daniil; Jun 13, 2011 at 3:50 PM.
Reason: [CLOSED]