Apr 24, 2010, 5:24 PM
Adding Tabs With OnActivate Listener
Hi,
I'm using the below script to add new tabs. Each tab loads a different aspx file and while activating the tab; I want to call the click event of the btnRefresh button in that page.
Using this code, I can't get the "button exists" message box. What would be the correct version?
<script type="text/javascript">
function addTab(tabPanel, id, url, name) {
var tab = tabPanel.getComponent(id);
if (!tab) {
tab = tabPanel.add({
id: id,
title: name,
closable: true,
autoLoad: {
showMask: true,
url: url,
mode: 'iframe',
maskMsg: 'Loading...'
}
});
tab.on('activate', function() {
var btn = document.getElementById('btnRefresh');
if (btn) {
Ext.Msg.alert('button exists');
btn.fireEvent('click');
}
}, this);
}
tabPanel.setActiveTab(tab);
}
</script>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MainPositionDefinition.aspx.cs"
Inherits="Forms_MainPositionDefinition" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link rel="Stylesheet" type="text/css" href="\..\Project.css" />
<ext:ScriptManager ID="ScriptManager1" runat="server">
</ext:ScriptManager>
</head>
<body>
<form id="frmMainPositionDefinition" runat="server">
<asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
<ext:Store ID="Store1" runat="server" DataSourceID="SqlDataSource1" UseIdConfirmation="true"
AutoLoad="false">
<Reader>
<ext:JsonReader ReaderID="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="ACCESS_GROUP_NAME" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:ViewPort ID="ViewPort1" runat="server">
<Body>
<ext:BorderLayout ID="BorderLayout1" runat="server">
<Center MarginsSummary="0 5 0 5">
<ext:Panel ID="Panel1" runat="server" Height="300" Header="false">
<Body>
<ext:FitLayout ID="FitLayout1" runat="server">
<ext:GridPanel ID="GridPanel1" runat="server" Title="Title" StoreID="Store1" Border="false"
StripeRows="true" ClicksToEdit="1">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:RowNumbererColumn />
<ext:Column DataIndex="ACCESS_GROUP_NAME" Header="Ana Pozisyon Adi">
<Editor>
<ext:TextField ID="TextField1" runat="server" />
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
</SelectionModel>
<BottomBar>
<ext:PagingToolbar ID="PagingToolBar1" runat="server" StoreID="Store1" PageSize="10"
DisplayInfo="false" />
</BottomBar>
<SaveMask ShowMask="true" />
<LoadMask ShowMask="true" />
</ext:GridPanel>
</ext:FitLayout>
</Body>
<Buttons>
<ext:Button ID="btnInsert" runat="server" Text="Insert" Icon="Add">
<Listeners>
<Click Handler="#{GridPanel1}.insertRecord(0, {});#{GridPanel1}.getView().focusRow(0);#{GridPanel1}.startEditing(0, 0);" />
</Listeners>
</ext:Button>
<ext:Button ID="btnSave" runat="server" Text="Save" Icon="Disk">
<Listeners>
<Click Handler="#{GridPanel1}.save();" />
</Listeners>
</ext:Button>
<ext:Button ID="btnRefresh" runat="server" Text="Refresh" Icon="ArrowRefresh">
<Listeners>
<Click Handler="#{GridPanel1}.reload();" />
</Listeners>
</ext:Button>
<ext:Button ID="btnDelete" runat="server" Text="Delete" Icon="Delete">
<Listeners>
<Click Handler="#{GridPanel1}.deleteSelected();" />
</Listeners>
</ext:Button>
</Buttons>
</ext:Panel>
</Center>
</ext:BorderLayout>
</Body>
</ext:ViewPort>
</form>
</body>
</html>
Thanks in advance.