2017-07-25 6 views
0

Ich arbeite lokal. Ich habe eine Funktion verwendet, um den Radioknopf innerhalb des Gitters anzuzeigen, und dann rufe ich die Funktion in renderer auf. Ich weiß, es ist falsch, das ist nur, um dir zu zeigen, was ich will.Wie kann ich ein Optionsfeld in einem Grid extjs korrekt anwenden?

Ich weiß nicht, wie Sie den Radio-Button für jede Zeile arbeiten.

Ich benutze extjs 3.4.

Sorry von meinem Englisch und durch Unordnung.

Dies ist das Array:

var data_metas = [['INGRESE META N°1','','','','','','100%','100%'], 
        ['INGRESE META N°2','','','','','','100%','100%'], 
        ['INGRESE META N°3','','','','','','100%','100%']]; 

Dies ist ArrayStor:

var store_grid_metas = new Ext.data.ArrayStore({ 
        fields: [ 
        {name: 'Meta'}, 
        {name: '100%'}, 
        {name: '75%'}, 
        {name: '50%'}, 
        {name: '25%'}, 
        {name: '0%'}, 
        {name: 'Ponderación'}, 
        {name: 'Nota final'} 
        ] 
}); 

store_grid_metas.loadData(data_metas); 

Die "radiogrid" -Funktion:

function radiogrid (value) { 
return "<input type='radio' name = 'primaryRadioMetaUno' " + (value ? "checked='checked'" : "") + ">"; 
} 

Und das ist das Gitter:

var grid_metas = new Ext.grid.GridPanel({ 

      store  : store_grid_metas, 
      id   : 'grid_metas', 
      stripeRows : true, 
      height  : 500, 
      width  : '100%', 
      autoScroll : true, 
      frame  : true, 
      border  : true, 
      columnLines : true, 
      stateful : true, 
      clicksToEdit: 1, 
      items: [{ 

           xtype: 'button', 
           itemId: 'btn_guardar_meta', 
           icon: '../../icons/add.png', 
           scale: 'small', 
           text: '<b>INGRESAR METAS</b>', 
           handler: function(){ 

             //modal_agregar_metas(); 

           } 
        }], 

      columns:[{ 
         xtype: 'gridcolumn', 
         dataIndex: 'Meta',name: '', 
         header: 'Meta', 
         sortable: true, 
         grupable:true, 
         width: 400,      
        },{ 
         xtype: 'gridcolumn', 
         dataIndex: '100%',name: '', 
         header: '100%', 
         sortable: true, 
         grupable:true, 
         align: 'center', 
         width: 50, 
         renderer : radiogrid    
        },{ 
         xtype: 'gridcolumn', 
         dataIndex: '75%',name: '', 
         header: '75%', 
         sortable: true, 
         grupable:true, 
         align: 'center', 
         width: 50, 
         renderer : radiogrid 
        },{ 
        xtype: 'gridcolumn', 
         dataIndex: '50%',name: '', 
         header: '50%', 
         sortable: true, 
         grupable:true, 
         align: 'center', 
         width: 50, 
         renderer : radiogrid 
        },{ 
         xtype: 'gridcolumn', 
         dataIndex: '25%',name: '', 
         header: '25%', 
         sortable: true, 
         grupable:true, 
         align: 'center', 
         width: 50, 
         renderer : radiogrid 
        },{ 
         xtype: 'gridcolumn', 
         dataIndex: '0%',name: '', 
         header: '0%', 
         sortable: true, 
         grupable:true, 
         align: 'center', 
         width: 50, 
         renderer : radiogrid 
        },{ 
         xtype: 'gridcolumn', 
         dataIndex: 'Ponderación',name: '', 
         header: 'Ponderación', 
         sortable: true, 
         grupable:true, 
         width: 150 
        },{ 
         xtype: 'gridcolumn', 
         dataIndex: 'Nota final',name: '', 
         header: 'Nota final', 
         sortable: true, 
         grupable:true, 
         width: 150 
        }], 


}) 
Diese

Der Code Anzeige:

enter image description here

Antwort

1

Vielleicht versuchen einen Zuhörer auf dem Gitter, das die cellclick Ereignis behandelt. Mit den Parametern, die Ext an diesen Handler übergibt, können Sie auf den Geschäftsdatensatz zugreifen, um nach Bedarf Werte festzulegen oder abzurufen:

Verwandte Themen