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

Editar registro de combobox

Foros generales sobre la librería Ext

Ext.foro.Nuevo
Mensajes: 1
Registrado: 23 Ene 2012, 11:15
NotaPublicado: 23 Ene 2012, 11:41
Buenos días...

Estoy desarollando una aplicación apoyada en este framework y quisiera saber si es posible que al seleccionar un registro en un combobox, el valor pueda ser editado y se actualice autamaticamente la data.

Código: Seleccionar todo
***Definición del Combobox***
{

    xtype: 'combobox',
    id:me.ID_COMBO_TIPOTRABAJO,
    fieldLabel: 'Tipo de trabajo',
    labelWidth: 85 ,
    width:350,
    store:storeTipoTrabajo ,
    editable:true,
    typeAhead: true,
    selectOnFocus: true,
    forceSelect: true,
    lazyRender: true,
    emptyText: 'Introduzca el tipo de trabajo',
    listClass: 'x-combo-list-small',
    displayField:'trabaDesctipo',
    valueField:'trabaCodtipo',
    pageSize :25,
    triggerAction:'all',
    queryMode: 'remote',
     tpl: new Ext.XTemplate(
    '<ul>',
        '<tpl for=".">',
            '<li role="option" class="x-boundlist-item" >',
                '<tpl if="trabaCodtipo">',
                    '<span style="font-family:Courier New; color:#000022;">{trabaCodtipo} - </span>',
                '</tpl>',
                '<tpl if="!trabaCodtipo">',
                    '<span style="font-family:Courier New; color:#000022;">*** - </span>',
                '</tpl>',
                '{trabaDesctipo}',
            '</li>',
        '</tpl>',
    '</ul>'
     ),
    listeners: {
        'blur': function(){
            var filtro = Ext.getCmp(me.ID_FILTRAR_TIPOTRABAJO);
            if (storeTipoTrabajo.getCount() == 0)
            {
               var gridSeccion = Ext.getCmp(me.ID_GRID_SECCION);
               if (filtro.rawValue != "")
               {
                   Ext.Msg.show({
                        buttons: Ext.Msg.OK,
                        icon: Ext.Msg.WARNING,
                        title: 'Alerta',
                        msg: "No hay tipo de trabajo: "+filtro.rawValue,
                        fn: function (btn, text) {
                            filterSeccion("", gridSeccion, storeTipoTrabajo);
                        }
                   });
               } else {
                   filterSeccion("", gridSeccion, storeTipoTrabajo);
               }
            }
            //filtro.hide();
            //filtro.clearValue();
        },
        scope: me,
       'select': function(field, values, options) {
           if (values.length >0) {
                var value = values[0];
                var combo = Ext.getCmp(me.ID_COMBO_TIPOTRABAJO).getRawValue();
                var gridSeccion = Ext.getCmp(me.ID_GRID_SECCION);
                var codTipoTrab= value.get('trabaCodtipo')+ "";
                gridSeccion.setTitle(combo);
                storeTmpSeccion.filters.clear();
                storeTmpSeccion.filter(new Ext.util.Filter({
                property: "pk.codTipoTrab",
                value:codTipoTrab.trim(),
                anyMatch: false,
                exactMatch: false,
                caseSensitive: true

                }));
           }
       }


    }
Última edición por tokkaido el 23 Ene 2012, 12:29, editado 1 vez en total
Razón: El código debe ser escrito entre las etiquetas "code" para facilitar la lectura (^_^)
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!

Avatar de Usuario
Ext.foro.Moderador
Mensajes: 333
Registrado: 17 Ago 2009, 12:06
NotaPublicado: 23 Ene 2012, 12:34
Claro que puedes hacerlo, podrías utilizar el evento "change" del combo para enviar el nuevo valor tipeado en el combo a tu base de datos con un ajax request y en el success volver a cargar el store asociado al combo, aunque es probable que exista algún método aun mas sencillo, voy a tratar de hacer alguna prueba y te cuento

(^_^)

Volver a General





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