Apr 28, 2010, 3:53 PM
[CLOSED] [1.0] ColumnModel JavaScript errors
Hello,</p>
In version 1.0 we started to get JavaScript errors in the code added bellow.
This happens on an editable Gridpanel, as soon as the user tabs out of the first field/column.
"Microsoft JScript runtime error: 'this.getColumnModel().config.1.editor.field.store ' is null or not an object"
and it highlights the following in the JavaScript debugger;
{this.getColumnModel().config[1].editor.field.store.clearFilter();}</p>
I'm not sure if I still nedd to have the following on the GridPanel, which is were we're getting the errors</p>
</p>
<Listeners>
<AfterEdit Handler="this.getColumnModel().config[1].editor.field.store.clearFilter();" />
</Listeners></p>
</p>If I remove this code, I get the following JavaScript Error
"Microsoft JScript runtime error: Object doesn't support this property or method"
and Highlights the following in the dubugger;
return this.config[a].getCellEditor(b)</p>
Bellow is the Html code</p>
</p>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SpeakerSelectionType.aspx.cs"
Inherits="WebClientTrackerII.App.Admin.SpeakerSelectionType" %></p>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="/Styles/Stylesheet1.css" rel="stylesheet" type="text/css" /></p>
<script src="/Scripts/TrackerII.js" type="text/javascript"></script></p>
<script src="../References.js" type="text/javascript"></script></p>
<script language="javascript" type="text/javascript"></p>
var submitValue = function(grid, hiddenFormat, format) {
hiddenFormat.setValue(format);
grid.submitData(false);
}
</script></p>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="SpeakerSelectionTypeManager" runat="server" Theme="Gray" />
<asp:SqlDataSource ID="SqlDataSourceSpeakerSelectionType" runat="server" ConnectionString="<%$ connectionStrings:DBConnectionString %>"
ProviderName="<%$ connectionStrings:DBConnectionString.ProviderName %>"
SelectCommand="SELECT SPKR_SLCTN_TYPE_ID,
SPKR_SLCTN_TYPE_NM,
SPKR_SLCTN_TYPE_ACTV_IND,
SPKR_SLCTN_TYPE_CRTD_ID,
SPKR_SLCTN_TYPE_UPDT_ID
FROM TRACKER2.SPKR_SLCTN_TYPE"
InsertCommand="INSERT INTO TRACKER2.SPKR_SLCTN_TYPE
(SPKR_SLCTN_TYPE_NM,
SPKR_SLCTN_TYPE_ACTV_IND,
SPKR_SLCTN_TYPE_CRTD_ID,
SPKR_SLCTN_TYPE_UPDT_ID)
Values
(:SPKR_SLCTN_TYPE_NM,
:SPKR_SLCTN_TYPE_ACTV_IND,
:SPKR_SLCTN_TYPE_CRTD_ID,
:SPKR_SLCTN_TYPE_UPDT_ID)" DeleteCommand="DELETE FROM TRACKER2.SPKR_SLCTN_TYPE WHERE SPKR_SLCTN_TYPE_ID =:SPKR_SLCTN_TYPE_ID"
UpdateCommand="UPDATE TRACKER2.SPKR_SLCTN_TYPE
SET SPKR_SLCTN_TYPE_NM = :SPKR_SLCTN_TYPE_NM,
SPKR_SLCTN_TYPE_ACTV_IND =:SPKR_SLCTN_TYPE_ACTV_IND,
SPKR_SLCTN_TYPE_UPDT_ID =:SPKR_SLCTN_TYPE_UPDT_ID WHERE (SPKR_SLCTN_TYPE_ID =:SPKR_SLCTN_TYPE_ID)">
<InsertParameters>
<asp:Parameter Name="SPKR_SLCTN_TYPE_NM" Type="String" />
<asp:Parameter Name="SPKR_SLCTN_TYPE_ACTV_IND" Type="String" />
<asp:SessionParameter Name="SPKR_SLCTN_TYPE_CRTD_ID" SessionField="UserNetworkName" />
<asp:SessionParameter Name="SPKR_SLCTN_TYPE_UPDT_ID" SessionField="UserNetworkName" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="SPKR_SLCTN_TYPE_NM" Type="String" />
<asp:Parameter Name="SPKR_SLCTN_TYPE_ACTV_IND" Type="String" />
<asp:SessionParameter Name="SPKR_SLCTN_TYPE_UPDT_ID" SessionField="UserNetworkName" />
<asp:Parameter Name="SPKR_SLCTN_TYPE_ID" Type="String" />
</UpdateParameters>
<DeleteParameters>
<asp:Parameter Name="SPKR_SLCTN_TYPE_ID" Type="String" />
</DeleteParameters>
</asp:SqlDataSource>
<ext:Store ID="storeSpeakerSelectionType" runat="server" DataSourceID="SqlDataSourceSpeakerSelectionType"
OnRefreshData="SpeakerSelectionType_Refresh" OnSubmitData="Store1_Submit" UseIdConfirmation="true"
OnAfterDirectEvent="SpeakerSelectionType_AfterDirectEvent" IgnoreExtraFields="true"
ShowWarningOnFailure="false" OnBeforeRecordInserted="storeSpeakerSelectionType_BeforeRecordInserted"
OnBeforeRecordUpdated="storeSpeakerSelectionType_BeforeRecordUpdated">
<DirectEventConfig IsUpload="true" />
<Reader>
<ext:JsonReader IDProperty="SPKR_SLCTN_TYPE_ID">
<Fields>
<ext:RecordField Name="SPKR_SLCTN_TYPE_NM" />
<ext:RecordField Name="SPKR_SLCTN_TYPE_ACTV_IND" Type="Boolean">
<Convert Fn="convert" />
</ext:RecordField>
</Fields>
</ext:JsonReader>
</Reader>
<SortInfo Field="SPKR_SLCTN_TYPE_NM" Direction="ASC" />
<Listeners>
<LoadException Handler="Ext.Msg.alert('Speaker Selection Type - Load failed', e.message || e )" />
<CommitFailed Handler="Ext.Msg.alert('Speaker Selection Type - Commit failed', 'Reason: ' + msg)" />
<SaveException Handler="Ext.Msg.alert('Speaker Selection Type - Save failed', e.message || e)" />
<CommitDone Handler="Ext.Msg.alert('Speaker Selection Type - Commit', 'The data was successfully saved');" />
</Listeners>
</ext:Store>
<ext:Viewport ID="SpeakerSelectionTypeViewport1" runat="server">
<Content>
<ext:BorderLayout ID="BorderLayout1" runat="server">
<Center>
<ext:Panel ID="Panel1" runat="server" Title="" BodyStyle="border-width:3px;" Layout="Fit">
<TopBar>
<ext:Toolbar ID="tlbr1" runat="server" CtCls="gridTopToolbar">
<Items>
<ext:ToolbarFill />
<ext:Button ID="excelBtn" runat="server" Text="Export to Excel" Icon="PageExcel"
StandOut="true">
<Listeners>
<Click Handler="submitValue(#{grdpnlSpeakerSelType}, #{FormatType}, 'xls');" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
<Content>
<ext:GridPanel ID="grdpnlSpeakerSelType" runat="server" StoreID="storeSpeakerSelectionType"
StripeRows="true" Title="" Header="false" Border="false" CtCls="gridToolbar"
ClicksToEdit="1">
<ColumnModel ID="SpeakerSelectionTypeModel" runat="server">
<Columns>
<ext:Column Header="Selection Name" DataIndex="SPKR_SLCTN_TYPE_NM" Width="400"
Sortable="true">
<Editor>
<ext:TextField ID="typeNameTxtx" runat="server" />
</Editor>
</ext:Column>
<ext:CheckColumn ColumnID="SPKR_SLCTN_TYPE_ACTV_IND" Width="60" Editable="true" DataIndex="SPKR_SLCTN_TYPE_ACTV_IND"
Header="Active?" Align="Center">
<Editor>
<ext:Checkbox ID="chkbx1" runat="server">
</ext:Checkbox>
</Editor>
</ext:CheckColumn>
</Columns>
</ColumnModel>
<Listeners>
<AfterEdit Handler="this.getColumnModel().config[1].editor.field.store.clearFilter();" />
</Listeners>
<Plugins>
<ext:GridFilters runat="server" ID="grdFilterSpeakerSelectionType" Local="true">
<Filters>
<ext:StringFilter DataIndex="SPKR_SLCTN_TYPE_NM" />
</Filters>
</ext:GridFilters>
</Plugins>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel4" runat="server">
<Listeners>
<RowSelect Handler="#{btnDelete}.enable();" />
<RowDeselect Handler="if (!#{grdpnlSpeakerSelType}.hasSelection()) {#{btnDelete}.disable();}" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
<BottomBar>
<ext:PagingToolbar ID="PagingToolBar4" runat="server" PageSize="12" CtCls="gridToolbar" />
</BottomBar>
<LoadMask ShowMask="true" />
<KeyMap>
<ext:KeyBinding>
<Keys>
<ext:Key Code="DELETE" />
</Keys>
<Listeners>
<Event Handler="deleteRows(#{grdpnlSpeakerSelType});" />
</Listeners>
</ext:KeyBinding>
</KeyMap>
</ext:GridPanel>
</Content>
<Buttons>
<ext:Button ID="btnSave" runat="server" Text="Save" Icon="Disk">
<Listeners>
<Click Handler="#{grdpnlSpeakerSelType}.save();" />
</Listeners>
</ext:Button>
<ext:Button ID="btnDelete" runat="server" Text="Delete selected records" Icon="Delete"
Disabled="true">
<Listeners>
<Click Handler="deleteRows(#{grdpnlSpeakerSelType});" />
</Listeners>
</ext:Button>
<ext:Button ID="btnInsert" runat="server" Text="Insert" Icon="Add">
<Listeners>
<Click Handler="#{grdpnlSpeakerSelType}.insertRecord(0, {});#{grdpnlSpeakerSelType}.getView().focusRow(0);#{grdpnlSpeakerSelType}.startEditing(0, 0);" />
</Listeners>
</ext:Button>
<ext:Button ID="btnRefresh" runat="server" Text="Refresh" Icon="ArrowRefresh">
<Listeners>
<Click Handler="#{grdpnlSpeakerSelType}.reload();" />
</Listeners>
</ext:Button>
</Buttons>
</ext:Panel>
</Center>
</ext:BorderLayout>
</Content>
</ext:Viewport>
<ext:Hidden ID="FormatType" runat="server" />
</form>
</body>
</html></p>
Any help will be appreciatted thank you in advance,</p>