Jul 02, 2011, 10:25 PM
'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 ??
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>