2011-03-15 2 views

ответ

3

В качестве примечания стороны DataView не обязательно имеет «строки». Он имеет то, что вы хотите, в зависимости от XTemplate, предоставленного ему.

Сказав это, вы можете добавить опцию конфигурации overCls в свой DataView, и этот класс будет добавлен к элементам представления, когда мышка нависает над ним. Тогда просто нужно использовать CSS, чтобы показать или скрыть кнопку удаления, основанную на существовании overCls.

new Ext.DataView({ 
    tpl: '<tpl for=".">' + 
      '<div class="my-wrapper">' + 
       '<div class="my-close-button">X</div>' + 
       // ... normal content 
      '</div>' + 
     '</tpl>', 
    overCls: 'my-wrapper-hover', 
    itemSelector: 'div.my-wrapper', 
    ... 
}) 

Тогда в CSS:

<style type="text/css"> 
    .my-wrapper .my-close-button { display: none; } 
    .my-wrapper-hover .my-close-button { display: block !important; } 
</style> 
+0

Работает как очарование, небольшое дополнение при использовании данных для отображения списка: используйте overClass вместо overCls для конкретного стиля записи списка. – Mark

1

Точно так же, если вы хотите иметь такую ​​же функциональность в GridPanel (v3.3 испытано), это может быть достигнуто с небольшим изменением по выше.

var grid = new Ext.grid.GridPanel({ 
     //grid config... 
     columns: [{ 
      header : 'Actions', 
      xtype : 'actioncolumn', 
       items : [{ 
       icon : '../images/delete16.gif', 
       iconCls: 'my-close-button', 

       //..the rest of your config... 
    }); 

grid.getView().rowOverCls="my-wrapper-hover"; 

css точно такой же, как указано выше.

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