2017-07-25 81 views
0

我在當地工作。我使用了一個函數來顯示網格中的單選按鈕,然後我調用renderer中的函數。我知道這是錯的,這只是爲了告訴你我想要什麼。如何正確應用網格extjs中的單選按鈕?

我不知道如何應用單選按鈕爲每一行工作。

我用的是extjs 3.4。

對不起,我的英語和障礙。

這是數組:

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

這是ArrayStore:

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); 

的 「radiogrid」 功能:

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

這是電網:

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 
        }], 


}) 

代碼顯示此:

enter image description here

回答

1

也許嘗試在處理該事件cellclick電網的監聽器。使用Ext傳遞給此處理程序的參數,可以訪問商店記錄以根據需要設置或獲取值:

function(grid, rowIndex, columnIndex, e) { 
    var record = grid.getStore().getAt(rowIndex); // Get the Record 
    var fieldName = grid.getColumnModel().getDataIndex(columnIndex); // Get field name 
    var data = record.get(fieldName); 
}