• Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!

Escribir en una celda y se actualize otra

Foros generales de ayuda Ext 1.0.

Ext.foro.Nuevo
Mensajes: 9
Registrado: 06 Dic 2007, 16:22
NotaPublicado: 04 Ene 2008, 14:17
Hola,
Como hago para que cuando escriba en una celda de mi grid , en base a eso hacer unos calculos y actualzar otra celda.

Yo hice algo , y funciona mas o menos, osea, si hace los calculos bien, pero visualmente me muestra otros valores, por ejemplo:

Celda_Cantidad Celda_Descuento Celda_Total
4000 0 4000


Si yo tecleo en Celda_Descuento, la cantidad de 50, (le quiero aplicar el 50% de Descuento),
recibio como resultado:

Celda_Cantidad Celda_Descuento Celda_Total
2000 0 2000


Es decir, si me hace los calculos bien pero no me muestra bien los campos, pero si doy click en Celda_Descuento para editarla, me aparece el 50, doy "enter" y se convierte en "0" de vuelta.

Muestro mi codigo, donde esta la logica de eso:
Código: Seleccionar todo
{
                header: "Saldos",
                width: 20,
                sortable: true,
                dataIndex: 'saldo',
                summaryType:'sum',
            renderer: Ext.util.Format.usMoney
            },{
                header: "Cond.Cantidad",
                width: 22,
                sortable: true,
                renderer: Ext.util.Format.usMoney,
                dataIndex: 'cantidad',
                summaryType:'sum',
                renderer: function(v, params, record){
                    if(record.data.porcentaje!="0")
                       return Ext.util.Format.usMoney((record.data.porcentaje * record.data.saldo) /100);
                   return Ext.util.Format.usMoney((record.data.cantidad).toFixed(2));
                },
                editor: new Ext.form.NumberField({
                    allowBlank: false,
                    allowNegative: false,
                    style: 'text-align:left'
                })
            },
            {
                header: "Cond.Porcentaje",
                width: 15,
                sortable: true,
                dataIndex: 'porcentaje',
                summaryType:'sum',
                renderer: function(v, params, record){
                    if(record.data.cantidad!="0")
                       return (((record.data.cantidad * 100) /record.data.saldo).toFixed(2));
                   return (record.data.porcentaje);
                },
                editor: new Ext.form.NumberField({
                    allowBlank: false,
                    allowNegative: false,
                    style: 'text-align:left'
                })
            },
            {
                id: 'neto',
                header: "Neto a Reestructurar",
                width: 20,
                sortable: false,
                groupable: false,
                renderer: function(v, params, record){
                    if(record.data.porcentaje!="0")
                       return Ext.util.Format.usMoney( record.data.saldo - ((record.data.porcentaje * record.data.saldo)/100));
               if(record.data.cantidad!="0")
                  return Ext.util.Format.usMoney( record.data.saldo - record.data.cantidad );
               return Ext.util.Format.usMoney(record.data.saldo);
                },
                dataIndex: 'neto',
                summaryType:'totalCost',
                summaryRenderer: Ext.util.Format.usMoney
            }
        ],

Muchas gracias,
Saludos desde Monterrey, Mexico.
Para no ver esta publicidad, debes ser usuario del Foro.
Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)


Cuixer, una forma de administrar páginas web que nunca viste!


Ext.foro.Nuevo
Mensajes: 4
Registrado: 18 Nov 2010, 13:33
NotaPublicado: 18 Nov 2010, 13:38
Hola amigo k tal:
la solución es esta tiene que dar el valor al index, solo estas retornando el valor a la vista pero internamente no se guardando
Código: Seleccionar todo
renderer: function(v, params, record){
                    if(record.data.porcentaje!="0")
                       record.data.cantidad = (record.data.porcentaje * record.data.saldo) /100;
                       return Ext.util.Format.usMoney((record.data.porcentaje * record.data.saldo) /100);
                }, .....

Nos vemos...

Volver a Ext 1.0: Ayuda





  • Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!