2011-11-10 2 views
0

노드에 Ext.view.View에 CSS 클래스를 추가하려고합니다. 나는이 뷰를 사용하여 뷰 내의 N div를 나열하고 선택 가능하게 만듭니다. 이 div 중 하나를 선택하면 색상이 변경되어 선택되었음을 나타냅니다. 나는이 새로운 클래스를 추가하고, 다른 사람을 계속하면Ext.view.View의 노드에 CSS 클래스 추가 Extjs 4

Ext.create('Ext.view.View', { 
    store: ... 
    tpl: ... 
    multiSelect: true, 
    height: 310, 
    trackOver: true, 
    overItemCls: 'cell-wrap-hover', 
    itemSelector: 'div.cell-wrap', 
    emptyText: 'No item to show', 
    plugins: [ 
     Ext.create('Ext.ux.DataView.DragSelector', {}) 
    ], 
    listeners: { 
     selectionchange: function(dv, nodes){ 
     if (nodes.length > 0) { 
     for (var i in nodes) { 
     //Here i would like to add one more css class to the nodes[0] 
       } 
    } 

     } 
    } 

가, 나 또한보기에서 선택한 항목에 대해, 선택기로 새 클래스 이름을 사용 그들과 다를 수 있습니다.

답변

0

스스로 답을 찾았습니다 : tpl에서 ID = "cell-X"와 같이 DIV selector의 ID 하나를 추가합니다. 여기서 X는 하나의 인덱스 (0,1,2 ...)입니다.

Ext.get('cell-' + nodes[i].index).addCls('cell-wrap-selected'); 

고맙습니다

을 : 그런 다음 foreach 문에 내가 선택한 노드에 클래스를 추가 할 명령 줄을 사용