May 27, 2011, 9:39 PM
Using record.set() in a RENDER function produces "undefined" ERROR
I´m trying to change value of a grid's column by rendering it. (I don´t know if it's a valid way to do).
I'm using record.set(metadata.id, resultado); and produces next error ( Error en tiempo de ejecución de Microsoft JScript: 'undefined' es nulo o no es un objeto)
I also used record.data.RequestQty = resultado; instead the "set" method, and all was OK, BUT... I need the cell marked as dirty, that's why I need to use the set function, I also try to use the record.dirty = true; and also produces an error ( Error en tiempo de ejecución de Microsoft JScript: 'modified' es nulo o no es un objeto )
I hope anyone can HELP... Thanks
I'm using record.set(metadata.id, resultado); and produces next error ( Error en tiempo de ejecución de Microsoft JScript: 'undefined' es nulo o no es un objeto)
I also used record.data.RequestQty = resultado; instead the "set" method, and all was OK, BUT... I need the cell marked as dirty, that's why I need to use the set function, I also try to use the record.dirty = true; and also produces an error ( Error en tiempo de ejecución de Microsoft JScript: 'modified' es nulo o no es un objeto )
I hope anyone can HELP... Thanks
<script type="text/javascript">
var requestQty = function (value, metadata, record, rowIndex, colIndex, store) {
if (value == '0' || value == '') {
result = parseFloat(record.data.PlannedQty) - parseFloat(record.data.NeededQty);
if (result > 0) {
//record.data.RequestQty = result;
//record.dirty = true;
record.set(metadata.id, result);
return Ext.util.Format.number(result, "0,000,000,000.0000");
}
} else {
return Ext.util.Format.number(value, "0,000,000,000.0000");
}
}
</script>
<ext:GridPanel
ID="grdProductosOrdenFabricacion"
runat="server"
StoreID="stoOrdenFabricacionDetalle"
StripeRows="true"
Title=""
TrackMouseOver="true"
AutoExpandColumn="ItemName"
Header="false"
BodyBorder="false"
Frame="false"
ClicksToEdit="1" >
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column
ColumnID="ItemCode"
DataIndex="ItemCode"
Header="Código Artículo"
Width="100" />
<ext:Column ColumnID="ItemName"
DataIndex="ItemName"
Header="Descripción del Artículo" />
<ext:Column
ColumnID="IssueType"
DataIndex="IssueType"
Header="Método<br />Emisión"
Align="Center"
Width="70" />
<ext:Column
ColumnID="PlannedQty"
DataIndex="PlannedQty"
Header="Cantidad<br />Requerida"
Align="Center"
Width="100" />
<ext:Column
ColumnID="NeededQty"
Header="Cantidad<br />Solicitada"
DataIndex="NeededQty"
Align="Center"
Width="100" />
<ext:Column
ColumnID="RequestQty"
Header="Cantidad<br />Por Solicitar"
DataIndex="RequestQty"
Align="Center"
Width="100" >
<Editor>
<ext:NumberField
runat="server"
ID="txtCantidadPorSolicitar"
AllowNegative="false"
AllowBlank="false"
DecimalPrecision="4"
SelectOnFocus="true">
</ext:NumberField>
</Editor>
<Renderer fn="requestQty"/>
</ext:Column>
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="gvwProductosOrdenFabricacion" runat="server">
<GetRowClass Fn="formateaFilaOrdenFabricacionDetalle" />
</ext:GridView>
</View>
<SelectionModel>
<ext:RowSelectionModel
ID="RowSelectionModel1"
runat="server"
SingleSelect="true" >
</ext:RowSelectionModel>
</SelectionModel>
<Listeners>
<BeforeEdit Handler="if(e.record.data.IssueType == 'Notificación' && e.field=='CantidadPorSolicitar'){
msgWarningTitulo('Advertencia', 'Los Productos de Notificación no pueden ser Modificados');
e.cancel = true;
}" />
</Listeners>
<LoadMask ShowMask="true" />
</ext:GridPanel>