2013-07-23 6 views
0

У меня есть сетка EXT JS 4.2, которая имеет 2 столбца, которые используют средство визуализации, чтобы поместить флажки в 1 столбец и переключатели в другой. Как я могу автоматическое приращение идентификаторов на этих HTML входов, так что я могу специально предназначаться для них с помощью EXT JS (см столбцы «Full» и «Primary»)EXT JS Grid - Auto-increment визуализированные входы

// Render library grid 
var grid4 = Ext.create('Ext.grid.Panel', { 
    xtype: 'gridpanel', 
    id:'button-grid', 
    store: data, 
    columns: [ 
     {text: "Library", width: 170, sortable: true, dataIndex: 'name'}, 
     {text: "Market", width: 125, sortable: true, dataIndex: 'market'}, 
     {text: "Expertise", width: 125, sortable: true, dataIndex: 'expertise'}, 
     {text: 'Full', dataIndex:'isFull', renderer: function() { 
      var rec = grid4.getStore().getAt(this.rowIndex); 
      return "<input type='checkbox' id='"+rec+"' />"; 
     }}, 
     {text: 'Primary', dataIndex:'isPrimary', renderer: function() { 
      return "<input type='radio' />"; 
     }}, 
    ], 

    columnLines: false, 
    selModel: selModel, 

    // inline buttons 
    dockedItems: [{ 
     xtype: 'toolbar', 
     dock: 'bottom', 
     ui: 'footer', 
     layout: { 
      pack: 'center' 
     }, 
     items: [] 
    }, { 
     xtype: 'toolbar', 
     items: [] 
    }], 

    width: 600, 
    height: 300, 
    frame: true, 
    title: 'Available Libraries', 
    iconCls: 'icon-grid', 
    renderTo: Ext.get('library-grid') 
}); 

UPDATE: Идентификационные являются в настоящее время увеличивающиеся, Спасибо!

У меня есть еще один вопрос: Я не вижу флажок checked: checked, установленный, когда я проверяю элемент в сетке EXT, как бы я сделал что-то вроде кода ниже. Я хочу, чтобы проверить, если элемент проверяется

    if(document.getElementById("#isFull-"+record['index']+"").checked == true){ 
        var myVar = true; 
       } 
+0

Я не совсем уверен, что вы после этого. В функции рендеринга для столбца «Полный» не указана ли переменная 'rec' номер индекса, который вы можете использовать? –

+0

Нет, это я пытался получить фактический rowIndex, но все, что появляется для «rec», НЕ УКАЗАНО – xXPhenom22Xx

ответ

2

renderer принимает кучу аргументов автоматически, один из которых является RowIndex. Вы должны быть в состоянии сделать это, чтобы дать уникальный идентификатор вы хотите:

{ 
    text: 'Full', 
    dataIndex:'isFull', 
    renderer: function(value, meta, record, rowIndex, colIndex) 
    { 
     return '<input type="checkbox" id="isFull-' + rowIndex + '" />'; 
    } 
} 

Подробнее здесь: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.grid.column.Column-cfg-renderer

+0

(см. Обновление выше) – xXPhenom22Xx

Смежные вопросы