'this.grid' is null or not an object

  1. #1

    'this.grid' is null or not an object

    Hello.. I have 2 gridpanels into a windows.. when I am trying to refresh the view.. an error is throw...'this.grid' is null or not an object

    this is a bug ??

        <ext:Window ID="detallesWindow" runat="server" Title="Aduanas [+Partes] - Comentarios - Predial "
            Hidden="true" AutoShow="true" Shadow="None" Width="800" Height="400" Layout="FitLayout"
            MinWidth="600" MinHeight="400">
            <Items>
                <ext:TabPanel ID="aduanasTab" runat="server" AnchorHorizontal="100%" AnchorVertical="80%">
                    <Items>
                        <ext:Panel ID="Panel20" runat="server" Title="Aduanas" AutoWidth="true" AnchorHorizontal="80%"
                            AnchorVertical="80%" Padding="0">
                            <Items>
                                <ext:FitLayout ID="FitLayout2" runat="server" AnchorHorizontal="80%" AnchorVertical="80%">
                                    <Items>
                                        <ext:GridPanel ID="partesGridPanel" runat="server" StripeRows="false" Header="false"
                                            Border="true" Title="Partes" TrackMouseOver="true" AutoWidth="true" AutoHeight="true"
                                            >
                                            <Store>
                                                <ext:Store ID="Store5" runat="server">
                                                    <Proxy>
                                                        <ext:PageProxy AutoDataBind="true" />
                                                    </Proxy>
                                                    <Reader>
                                                        <ext:JsonReader>
                                                            <Fields>
                                                                <ext:RecordField Name="Cantidad" Type="Float" DefaultValue="0" />
                                                                <ext:RecordField Name="Unidad" Type="String" DefaultValue="" />
                                                                <ext:RecordField Name="Codigo" Type="String" DefaultValue="" />
                                                                <ext:RecordField Name="Descripcion" Type="String" DefaultValue=""/>
                                                                <ext:RecordField Name="ValorUnitario" Type="Float" DefaultValue="0" />
                                                                <ext:RecordField Name="Importe" Type="Float" DefaultValue="0" />
                                                                <ext:RecordField Name="InformacionAduanera" Type="String" DefaultValue="" />
                                                            </Fields>
                                                        </ext:JsonReader>
                                                    </Reader>
                                                </ext:Store>
                                            </Store>
                                            <ColumnModel ID="ColumnModel4" runat="server">
                                                <Columns>
                                                    <ext:Column ColumnID="parteCantidad" Header="Cantidad" Width="100" DataIndex="Cantidad"
                                                        MenuDisabled="true" Editable="true">
                                                        <Renderer Format="UsMoney" />
                                                        <Editor>
                                                            <ext:NumberField ID="parteCantidadNumberField" runat="server" AllowBlank="false"
                                                                DecimalPrecision="6" AllowNegative="false" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <%--<ext:Column ColumnID="parteUnidad" Header="Unidad" Width="100" DataIndex="Unidad"
                                                        MenuDisabled="true" Editable="true">
                                                        <Editor>
                                                            <ext:TextField ID="parteUnidadTextField" runat="server" AllowBlank="true" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="parteCodigo" Header="Codigo" Width="100" DataIndex="Codigo"
                                                        MenuDisabled="true" Editable="true">
                                                        <Editor>
                                                            <ext:TextField ID="codigoParteTextField" runat="server" AllowBlank="true" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="parteDescripcion" Header="Descripcion" Width="350" DataIndex="Descripcion"
                                                        MenuDisabled="true" Editable="true">
                                                        <Editor>
                                                            <ext:TextField ID="parteDescripcionTextField" runat="server" AllowBlank="false" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="parteValorUnitario" Header="Valor unitario" Width="100" DataIndex="ValorUnitario"
                                                        MenuDisabled="true" Editable="true">
                                                        <Renderer Format="UsMoney" />
                                                        <Editor>
                                                            <ext:NumberField ID="valorUnitarioNumerField" runat="server" AllowBlank="true" DecimalPrecision="6"
                                                                AllowNegative="false" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="importeUnitario" Header="Importe" Width="100" DataIndex="Importe"
                                                        MenuDisabled="true" Editable="true">
                                                        <Renderer Format="UsMoney" />
                                                        <Editor>
                                                            <ext:NumberField ID="parteImporteNumberField" runat="server" AllowBlank="true" DecimalPrecision="6" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column Header="" Width="50" DataIndex="" Align="Right">
                                                        <Commands>
                                                            <ext:ImageCommand CommandName="AgregarInfoAduanera" Icon="Add" Text=" ">
                                                                <ToolTip Text="Click para agregar informacion aduanera" Title="Informacion aduanera" />
                                                            </ext:ImageCommand>
                                                        </Commands>
                                                    </ext:Column>
                                                    <ext:Column Header="" Width="50" DataIndex="" Align="Right">
                                                        <Commands>
                                                            <ext:ImageCommand CommandName="Eliminar" Icon="Delete" Text=" ">
                                                                <ToolTip Text="Click para eliminar la parte" Title="Eliminar parte" />
                                                            </ext:ImageCommand>
                                                        </Commands>
                                                    </ext:Column>--%>
                                                </Columns>
                                            </ColumnModel>
                                            <Listeners>
                                                <CellClick Handler="#{partesGridPanel}.startEditing(rowIndex, columnIndex)" />
                                            </Listeners>
                                            <TopBar>
                                                <ext:Toolbar ID="Toolbar3" runat="server">
                                                    <Items>
                                                        <ext:Button ID="Button4" runat="server" Text="Agregar parte" Icon="Add">
                                                            <Listeners>
                                                                <Click Handler="agregaParte();" />
                                                            </Listeners>
                                                        </ext:Button>
                                                        <ext:ToolbarFill />
                                                    </Items>
                                                </ext:Toolbar>
                                            </TopBar>
                                            <SelectionModel>
                                                <ext:CellSelectionModel ID="CellSelectionModel3" runat="server" SingleSelect="true" />
                                            </SelectionModel>
                                        </ext:GridPanel>
                                    </Items>
                                </ext:FitLayout>
                            </Items>
                        </ext:Panel>
                        <ext:Panel ID="Panel21" runat="server" Title="Partes" AutoWidth="true" AnchorHorizontal="80%"
                            AnchorVertical="80%" Padding="0">
                            <Items>
                                <ext:FitLayout ID="FitLayout3" runat="server" AnchorHorizontal="80%" AnchorVertical="80%">
                                    <Items>
                                        <ext:GridPanel ID="aduanasGridPanel" runat="server" StripeRows="false" Header="false"
                                            Border="true" Title="Conceptos" AutoWidth="true" AutoHeight="true" AutoExpandColumn="Pedimento">
                                            <Store>
                                                <ext:Store ID="Store4" runat="server">
                                                    <Proxy>
                                                        <ext:PageProxy AutoDataBind="true" />
                                                    </Proxy>
                                                    <Reader>
                                                        <ext:JsonReader>
                                                            <Fields>
                                                                <ext:RecordField Name="Aduana" Type="String" />
                                                                <ext:RecordField Name="FechaEntrega" Type="Date" />
                                                                <ext:RecordField Name="Pedimento" Type="String" />
                                                            </Fields>
                                                        </ext:JsonReader>
                                                    </Reader>
                                                </ext:Store>
                                            </Store>
                                            <ColumnModel ID="ColumnModel3" runat="server">
                                                <Columns>
                                                    <ext:Column ColumnID="aduanaCodigo" Header="Aduana" Width="140" DataIndex="Aduana"
                                                        Editable="true" MenuDisabled="true" Fixed="true">
                                                        <Editor>
                                                            <ext:ComboBox ID="aduanaComboBox" runat="server" ForceSelection="false" AllowBlank="false"
                                                                TypeAhead="true" DataIndex="Aduana">
                                                                <Items>
                                                                    <ext:ListItem Text="Aduana 1" Value="Aduana 1" />
                                                                    <ext:ListItem Text="Aduana 2" Value="Aduana 2" />
                                                                    <ext:ListItem Text="Aduana 3" Value="Aduana 3" />
                                                                </Items>
                                                            </ext:ComboBox>
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="aduanaFechaEntrega" Header="Fecha Entrega" Width="100" DataIndex="FechaEntrega"
                                                        Editable="true" MenuDisabled="true">
                                                        <Renderer Fn="formatDate" />
                                                        <Editor>
                                                            <ext:DateField ID="fechaEntregaDateField" runat="server" AllowBlank="false" AutoShow="true"
                                                                Format="Y-m-d" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="aduanaPedimento" Header="Pedimento" Width="400" DataIndex="Pedimento"
                                                        Editable="true">
                                                        <Editor>
                                                            <ext:TextField ID="pedimentoTextField" runat="server" AllowBlank="false" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column Header="" Width="50" DataIndex="" Align="Right">
                                                        <Commands>
                                                            <ext:ImageCommand CommandName="Eliminar" Icon="Delete" Text=" ">
                                                                <ToolTip Text="Click para eliminar la informacion aduanera" Title="Eliminar informacion aduanera" />
                                                            </ext:ImageCommand>
                                                        </Commands>
                                                    </ext:Column>
                                                </Columns>
                                            </ColumnModel>
                                            <Listeners>
                                                <CellClick Handler="#{aduanasGridPanel}.startEditing(rowIndex, columnIndex)" CausesValidation="false" />
                                            </Listeners>
                                            <TopBar>
                                                <ext:Toolbar ID="Toolbar2" runat="server">
                                                    <Items>
                                                        <ext:Button ID="Button3" runat="server" Text="Agregar aduana" Icon="Add">
                                                            <Listeners>
                                                                <Click Handler="agregaAduana();" />
                                                            </Listeners>
                                                        </ext:Button>
                                                        <ext:ToolbarFill />
                                                    </Items>
                                                </ext:Toolbar>
                                            </TopBar>
                                            <SelectionModel>
                                                <ext:CellSelectionModel ID="CellSelectionModel2" runat="server" SingleSelect="true" />
                                            </SelectionModel>
                                        </ext:GridPanel>
                                    </Items>
                                </ext:FitLayout>
                            </Items>
                        </ext:Panel>
                        <ext:Panel ID="Panel19" runat="server" Title="Predial" AutoWidth="true" AnchorHorizontal="80%"
                            AnchorVertical="80%" Padding="0">
                            <Items>
                                <ext:FitLayout ID="FitLayout1" runat="server" AnchorHorizontal="80%" AnchorVertical="80%">
                                    <Items>
                                        <ext:TextArea ID="predialTextArea" runat="server" Text="" AnchorHorizontal="80%"
                                            AutoScroll="true" AnchorVertical="80%" />
                                    </Items>
                                </ext:FitLayout>
                            </Items>
                        </ext:Panel>
                    </Items>
                    <Buttons>
                        <ext:Button ID="guardarDetalleButton" runat="server" Text="Guardar" Icon="Accept">
                            <Listeners>
                                <Click Handler="guardarDetalle();" />
                            </Listeners>
                        </ext:Button>
                        <ext:Button ID="cancelarDetalleButton" runat="server" Text="Cancelar" Icon="Cancel">
                            <Listeners>
                                <Click Handler="#{detallesWindow}.hide();" />
                            </Listeners>
                        </ext:Button>
                    </Buttons>
                </ext:TabPanel>
            </Items>
        </ext:Window>
    
        <script type="text/javascript">
            var detalleActual = null;
    
            function guardarDetalle() {
                    var winDetalle = Ext.getCmp('ctl00_principalContentPlaceHolder_detallesWindow');
    
                    //ADUANAS
                    var aduanasGridPanel = winDetalle.findById('ctl00_principalContentPlaceHolder_aduanasGridPanel');
                    var storeAduanaGrid = aduanasGridPanel.getStore();
    
                    if (null != storeAduanaGrid.getRecordsValues())
                        detalleActual.data.ExtraAduana = Ext.encode(storeAduanaGrid.getRecordsValues());
    
                    //PARTE
                    var partesGridPanel = winDetalle.findById('ctl00_principalContentPlaceHolder_partesGridPanel');
                    var storeParteGrid = partesGridPanel.getStore();
    
                    if (null != storeParteGrid.getRecordsValues())
                        detalleActual.data.ExtraParte = Ext.encode(storeParteGrid.getRecordsValues());
    
    
                    alert(detalleActual.data.ExtraAduana);
                    alert(detalleActual.data.ExtraParte);
    
                    storeParteGrid.clearData();
                    storeAduanaGrid.clearData();
    
                    aduanasGridPanel.getView().refresh();   // <---------- ERROR
                    partesGridPanel.getView().refresh();  // <---------- ERROR
    
    
    
                    detalleActual = null;
                    winDetalle.hide();
                }
            }
    
            function mostrarDetalles(comando, record) {
                detalleActual = record;
                if ('EditarDetalles' == comando) {
                    var winDetalle = Ext.getCmp('ctl00_principalContentPlaceHolder_detallesWindow');
                    if (null != winDetalle) {
    
                        //PREDIAL
                        winDetalle.findById('ctl00_principalContentPlaceHolder_predialTextArea').setValue(detalleActual.data.ExtraPredial);
    
                        //ADUANAS
                        var aduanasGridPanel = winDetalle.findById('ctl00_principalContentPlaceHolder_aduanasGridPanel');
                        var storeAduanaGrid = aduanasGridPanel.getStore();
                        storeAduanaGrid.clearData();
    
                        var aduanas = null;
                        if (null != detalleActual.data.ExtraAduana && '' != detalleActual.data.ExtraAduana) {
                            aduanas = Ext.decode(detalleActual.data.ExtraAduana);
    
                            var conceptoItem = storeAduanaGrid.recordType;
                            var indice = 0;
                            for (indice = 0; indice <= aduanas.length - 1; indice++) {
                                var nuevo = new conceptoItem({
                                    Aduana: aduanas[indice].Aduana,
                                    FechaEntrega: aduanas[indice].FechaEntrega,
                                    Pedimento: aduanas[indice].Pedimento
                                });
                                storeAduanaGrid.add(nuevo);
                            }
                            storeAduanaGrid.commitChanges();
                        }
                        aduanasGridPanel.getView().refresh();   //// <---------- ERROR
    
    
                        //PARTES
                        var partesGridPanel = winDetalle.findById('ctl00_principalContentPlaceHolder_partesGridPanel');
                        var storeParteGrid = partesGridPanel.getStore();
                        storeParteGrid.clearData();
    
                        var partes = null;
                        if (null != detalleActual.data.ExtraParte && '' != detalleActual.data.ExtraParte) {
                            partes = Ext.decode(detalleActual.data.ExtraParte);
    
                            var conceptoItem = storeParteGrid.recordType;
                            var indice = 0;
                            for (indice = 0; indice <= partes.length - 1; indice++) {
                                var nuevo = new conceptoItem({
                                    Cantidad: parte[indice].Cantidad,
                                    Unidad: parte[indice].Unidad,
                                    Codigo: parte[indice].Codigo,
                                    Descripcion: parte[indice].Descripcion,
                                    ValorUnitario: parte[indice].ValorUnitario,
                                    Importe: parte[indice].Importe,
                                    InformacionAduanera: parte[indice].InformacionAduanera
                                });
                                storeParteGrid.add(nuevo);
                            }
                            storeParteGrid.commitChanges();
                        }
                        partesGridPanel.getView().refresh();
    
    
                        winDetalle.show();
                      
                }
            }
        </script>
  2. #2
    I guess the problem in your column renderer
    Please post renderer code
  3. #3

    I kwnow why is happening this!!!

    Just copy and paste in a new asp.net page..

    How to reproduce the error: when the tabs just apper, click on "guardar" button and the error is throw..

    To avoid th error: when the tabs just apper, click on "partes" tab, after that, click on "aduanas" tab, click on "guardar" button and the error is gone

    i think
    the error is happening because the "partes" tabs is not selected at firts, and when you do a click on "guardar button" the "partes" tabs was never displayed.. right ?

    How can I make a refresh to the view even the store is empty ??

    Thanks for the help..




    //HOW TO AVOID THE PROBLEM:
    //WHEN THE TABS JUST APPERS, SELECT THE "PARTES" TAB, click on button "Guardar" AND THE
    //PROBLEM IS GONE !!! I THINK THE PROBLEM IS HAPPENING WHEN THE TAB "PARTES" IS NOT SELECTED!!




        <ext:ResourceManager ID="ResourceManager1" runat="server" Theme="Slate" />
        <ext:Window ID="detallesWindow" runat="server" Title="Aduanas [+Partes] - Comentarios - Predial "
            AutoShow="true" Shadow="None" Width="800" Height="400" Layout="FitLayout" MinWidth="600"
            MinHeight="400">
            <Items>
                <ext:TabPanel ID="aduanasTab" runat="server" AnchorHorizontal="100%" AnchorVertical="80%">
                    <Items>
                        <ext:Panel ID="Panel20" runat="server" Title="Aduanas" AutoWidth="true" AnchorHorizontal="80%"
                            AnchorVertical="80%" Padding="0">
                            <Items>
                                <ext:FitLayout ID="FitLayout2" runat="server" AnchorHorizontal="80%" AnchorVertical="80%">
                                    <Items>
                                        <ext:GridPanel ID="aduanasGridPanel" runat="server" StripeRows="false" Header="false"
                                            Border="true" Title="Conceptos" AutoWidth="true" AutoHeight="true" AutoExpandColumn="Pedimento">
                                            <Store>
                                                <ext:Store ID="Store4" runat="server">
                                                    <Proxy>
                                                        <ext:PageProxy AutoDataBind="true" />
                                                    </Proxy>
                                                    <Reader>
                                                        <ext:JsonReader>
                                                            <Fields>
                                                                <ext:RecordField Name="Aduana" Type="String" />
                                                                <ext:RecordField Name="FechaEntrega" Type="Date" />
                                                                <ext:RecordField Name="Pedimento" Type="String" />
                                                            </Fields>
                                                        </ext:JsonReader>
                                                    </Reader>
                                                </ext:Store>
                                            </Store>
                                            <ColumnModel ID="ColumnModel3" runat="server">
                                                <Columns>
                                                    <ext:Column ColumnID="aduanaCodigo" Header="Aduana" Width="140" DataIndex="Aduana"
                                                        Editable="true" MenuDisabled="true" Fixed="true">
                                                        <Editor>
                                                            <ext:ComboBox ID="aduanaComboBox" runat="server" ForceSelection="false" AllowBlank="false"
                                                                TypeAhead="true" DataIndex="Aduana">
                                                                <Items>
                                                                    <ext:ListItem Text="Aduana 1" Value="Aduana 1" />
                                                                    <ext:ListItem Text="Aduana 2" Value="Aduana 2" />
                                                                    <ext:ListItem Text="Aduana 3" Value="Aduana 3" />
                                                                </Items>
                                                            </ext:ComboBox>
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="aduanaFechaEntrega" Header="Fecha Entrega" Width="100" DataIndex="FechaEntrega"
                                                        Editable="true" MenuDisabled="true">
                                                        <%--  <Renderer Fn="formatDate" />--%>
                                                        <Editor>
                                                            <ext:DateField ID="fechaEntregaDateField" runat="server" AllowBlank="false" AutoShow="true"
                                                                Format="Y-m-d" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column ColumnID="aduanaPedimento" Header="Pedimento" Width="400" DataIndex="Pedimento"
                                                        Editable="true">
                                                        <Editor>
                                                            <ext:TextField ID="pedimentoTextField" runat="server" AllowBlank="false" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                    <ext:Column Header="" Width="50" DataIndex="" Align="Right">
                                                        <Commands>
                                                            <ext:ImageCommand CommandName="Eliminar" Icon="Delete" Text=" ">
                                                                <ToolTip Text="Click para eliminar la informacion aduanera" Title="Eliminar informacion aduanera" />
                                                            </ext:ImageCommand>
                                                        </Commands>
                                                    </ext:Column>
                                                </Columns>
                                            </ColumnModel>
                                            <Listeners>
                                                <CellClick Handler="#{aduanasGridPanel}.startEditing(rowIndex, columnIndex)" CausesValidation="false" />
                                            </Listeners>
                                            <TopBar>
                                                <ext:Toolbar ID="Toolbar2" runat="server">
                                                    <Items>
                                                        <ext:Button ID="Button3" runat="server" Text="Agregar aduana" Icon="Add">
                                                            <Listeners>
                                                                <Click Handler="agregaAduana();" />
                                                            </Listeners>
                                                        </ext:Button>
                                                        <ext:ToolbarFill />
                                                    </Items>
                                                </ext:Toolbar>
                                            </TopBar>
                                            <SelectionModel>
                                                <ext:CellSelectionModel ID="CellSelectionModel2" runat="server" SingleSelect="true" />
                                            </SelectionModel>
                                        </ext:GridPanel>
                                    </Items>
                                </ext:FitLayout>
                            </Items>
                        </ext:Panel>
                        <ext:Panel ID="Panel21" runat="server" Title="Partes" AutoWidth="true" AnchorHorizontal="80%"
                            AnchorVertical="80%" Padding="0">
                            <Items>
                                <ext:FitLayout ID="FitLayout3" runat="server" AnchorHorizontal="80%" AnchorVertical="80%">
                                    <Items>
                                        <ext:GridPanel ID="partesGridPanel" runat="server" StripeRows="false" Header="false"
                                            Border="true" Title="Partes" TrackMouseOver="true" AutoWidth="true" AutoHeight="true">
                                            <Store>
                                                <ext:Store ID="Store5" runat="server">
                                                    <Reader>
                                                        <ext:JsonReader>
                                                            <Fields>
                                                                <ext:RecordField Name="Texto" Type="String" DefaultValue="" />
                                                                <ext:RecordField Name="Cantidad" Type="Float" DefaultValue="0" />
                                                                <ext:RecordField Name="Unidad" Type="String" DefaultValue="" />
                                                                <ext:RecordField Name="Codigo" Type="String" DefaultValue="" />
                                                                <ext:RecordField Name="Descripcion" Type="String" DefaultValue="" />
                                                                <ext:RecordField Name="ValorUnitario" Type="Float" DefaultValue="0" />
                                                                <ext:RecordField Name="Importe" Type="Float" DefaultValue="0" />
                                                                <ext:RecordField Name="InformacionAduanera" Type="String" DefaultValue="" />
                                                            </Fields>
                                                        </ext:JsonReader>
                                                    </Reader>
                                                </ext:Store>
                                            </Store>
                                            <ColumnModel ID="ColumnModel1" runat="server">
                                                <Columns>
                                                    <ext:Column ColumnID="textoParte" Header="Texto" Width="400" DataIndex="Texto" Editable="true">
                                                        <Editor>
                                                            <ext:TextField ID="textoParteTextField" runat="server" AllowBlank="false" />
                                                        </Editor>
                                                        <EditorOptions CompleteOnEnter="true" CancelOnEsc="true" Shadow="None" RevertInvalid="true" />
                                                    </ext:Column>
                                                </Columns>
                                            </ColumnModel>
                                            <Listeners>
                                                <CellClick Handler="#{partesGridPanel}.startEditing(rowIndex, columnIndex)" />
                                            </Listeners>
                                            <TopBar>
                                                <ext:Toolbar ID="Toolbar3" runat="server">
                                                    <Items>
                                                        <ext:Button ID="Button4" runat="server" Text="Agregar parte" Icon="Add">
                                                            <Listeners>
                                                                <Click Handler="agregaParte();" />
                                                            </Listeners>
                                                        </ext:Button>
                                                        <ext:ToolbarFill />
                                                    </Items>
                                                </ext:Toolbar>
                                            </TopBar>
                                            <SelectionModel>
                                                <ext:CellSelectionModel ID="CellSelectionModel3" runat="server" SingleSelect="true" />
                                            </SelectionModel>
                                        </ext:GridPanel>
                                    </Items>
                                </ext:FitLayout>
                            </Items>
                        </ext:Panel>
                        <ext:Panel ID="Panel19" runat="server" Title="Predial" AutoWidth="true" AnchorHorizontal="80%"
                            AnchorVertical="80%" Padding="0">
                            <Items>
                                <ext:FitLayout ID="FitLayout1" runat="server" AnchorHorizontal="80%" AnchorVertical="80%">
                                    <Items>
                                        <ext:TextArea ID="predialTextArea" runat="server" Text="" AnchorHorizontal="80%"
                                            AutoScroll="true" AnchorVertical="80%" />
                                    </Items>
                                </ext:FitLayout>
                            </Items>
                        </ext:Panel>
                    </Items>
                    <Buttons>
                        <ext:Button ID="guardarDetalleButton" runat="server" Text="Guardar" Icon="Accept">
                            <Listeners>
                                <Click Handler="guardarDetalle();" />
                            </Listeners>
                        </ext:Button>
                        <ext:Button ID="cancelarDetalleButton" runat="server" Text="Cancelar" Icon="Cancel">
                            <Listeners>
                                <Click Handler="#{detallesWindow}.hide();" />
                            </Listeners>
                        </ext:Button>
                    </Buttons>
                </ext:TabPanel>
            </Items>
        </ext:Window>
        <script type="text/javascript">
             var detalleActual = null;
    
             function guardarDetalle() {
                 if (validaStoreAduanas() && validaStorePartes()) {
                     var winDetalle = Ext.getCmp('detallesWindow');
    
    
                     //ADUANAS
                     var aduanasGridPanel = winDetalle.findById('aduanasGridPanel');
                     var storeAduanaGrid = aduanasGridPanel.getStore();
    
                     //SAVE THE DATA, IGNORE THIS
                     //if (null != storeAduanaGrid.getRecordsValues())
                     //    detalleActual.data.ExtraAduana = Ext.encode(storeAduanaGrid.getRecordsValues());
    
                     //PARTE
                     var partesGridPanel = winDetalle.findById('partesGridPanel');
                     var storeParteGrid = partesGridPanel.getStore();
    
                     //SAVE THE DATA, IGNORE THIS
    //                 if (null != storeParteGrid.getRecordsValues())
    //                     detalleActual.data.ExtraParte = Ext.encode(storeParteGrid.getRecordsValues());
    
                     aduanasGridPanel.getView().refresh(false);
                     partesGridPanel.getView().refresh(false);  //  <--------------------------------- ERROR !! !!
    
                     //HOW TO AVOID THE PROBLEM:
                     //WHEN THE TABS JUST APPERS, SELECT THE "PARTES" TAB, click on button "Guardar" AND THE
                    //PROBLEM IS GONE !!! I THINK THE PROBLEM IS HAPPENING WHEN THE TAB "PARTES" IS NOT SELECTED!!
    
                     detalleActual = null;
                     //winDetalle.hide(); // HIDE WINDOWS
                 }
             }
    
    
            function validaStoreAduanas() {
                    var valido = true;
                    var storeGrid = <% = this.aduanasGridPanel.ClientID %>.getStore();
                    for (var i = 0; i < storeGrid.getCount(); i++) {
                        if (null == storeGrid.getAt(i).data['Aduana'] || '' == storeGrid.getAt(i).data['Aduana']) {
                            valido = false;
                            <% = this.aduanasGridPanel.ClientID %>.startEditing(i, 0);
                            break;
                        }
                        if (null == storeGrid.getAt(i).data['FechaEntrega']) {
                            valido = false;
                            <% = this.aduanasGridPanel.ClientID %>.startEditing(i, 1);
                            break;
                        }
                        if (null == storeGrid.getAt(i).data['Pedimento'] || '' == storeGrid.getAt(i).data['Pedimento']) {
                            valido = false;
                            <% = this.aduanasGridPanel.ClientID %>.startEditing(i, 2);
                            break;
                        }
                    }
                    return valido;
                }
    
          function validaStorePartes() {
                    var valido = true;
                    var storeGrid = <% = this.partesGridPanel.ClientID %>.getStore();
                    for (var i = 0; i < storeGrid.getCount(); i++) {
                        if (0 == storeGrid.getAt(i).data['Cantidad']) {
                            valido = false;
                            <% = this.partesGridPanel.ClientID %>.startEditing(i, 0);
                            break;
                        }
                        if (null == storeGrid.getAt(i).data['Descripcion'] || '' == storeGrid.getAt(i).data['Descripcion']) {
                            valido = false;
                            <% = this.partesGridPanel.ClientID %>.startEditing(i, 3);
                            break;
                        }
    
                    }
                    return valido;
                   
            }
          
        </script>
  4. #4
    Hi,

    Please set DeferredRender="false" for TabPanel
  5. #5
    wow! works 1000 !!


    Thanks

Similar Threads

  1. Replies: 7
    Last Post: Aug 12, 2011, 9:39 AM
  2. 'Ext.net.ResourceMgr' is null or not an object
    By harshad.jadhav in forum 1.x Help
    Replies: 3
    Last Post: Jan 14, 2011, 10:01 PM
  3. Ext.fly(...)' is null or not an object
    By kapil gupta in forum 1.x Help
    Replies: 5
    Last Post: Nov 10, 2010, 8:59 AM
  4. 'getRowEditor()' is null or not an object
    By NestorLeone in forum 1.x Help
    Replies: 5
    Last Post: Aug 26, 2010, 7:40 PM
  5. 'insertAdjacentHTML' is null or not an object
    By Tbaseflug in forum 1.x Help
    Replies: 6
    Last Post: Jun 29, 2009, 5:00 PM

Posting Permissions