2013-08-30 3 views
2

В настоящее время я испытываю проблему с плагином RowEditing и не смог найти что-либо релевантное, чтобы помочь мне в этом.Проблема с RowEditing и ActionColumn

Я дал сетку, используя плагин RowEditing, и попросил добавить строку, содержащую кнопку «Сброс». Кажется, лучшим выбором был actionColumn.

Когда строка не находится в режиме редактирования, нет проблем, actionColumn обрабатывает щелчки правильно, и я могу выполнить свою обработку. Но если строка находится в режиме редактирования, то actionColumn, похоже, вообще не реагирует.

Я попытался использовать параметр редактора, но с этим ничего не происходит. Мне тоже сложно использовать некоторых слушателей, но я не могу найти подходящего события для этой проблемы.

Любые идеи?

+0

Я думаю, если вы используете редактирование строки плагина, вам не нужно столбец действий, имеющий сброс, потому что вы будете иметь «Update» и «Отменить» на них, чтобы они соответствовали вашим функциям. Но если это ваше требование, вы можете использовать плагин для редакторов. – Dev

+0

В случае, когда строка была отредактирована в первый раз, затем второй раз: кнопка отмены не позволяет сбросить строку до ее начального состояния; поэтому мне нужна кнопка «Сброс». – JRZ

+0

@JRZ вы пытались форсировать событие 'cancelit' перед сбросом значений? Поэтому, если они не находятся в режиме редактирования, вы просто перезагружаетесь, но если они есть, вызовите 'cancelEdit()', а затем сбросьте значения. –

ответ

0

Наконец, я выбрал другой способ:

{ 
xtype: 'actioncolumn', 
action : 'tarifRowAction', 
handler: function (grid, rowIndex, colIndex) 
{ 
    console.log("got click handler § "); 
    me.fireEvent("clickedMAJButton", grid, rowIndex, colIndex); 
}, 
editor: 
{ 
    xtype: 'button', 
    handler: function (grid, rowIndex, colIndex) 
    { 
     console.log("got click handler § "); 
     me.fireEvent("clickedMAJButton", grid, rowIndex, colIndex); 
    }, 
}, 
items: [ 
      { 
       icon: 'images/image16/modifier.png', 
       action : 'tarifRowAction', 
       scope: me 
      } 
     ] 

}

-1

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

{ 
    xtype: 'actioncolumn', 
    width: 50, 
    items: [{ 
      icon: 'edit.png', // Use a URL in the icon config 
      tooltip: 'Update', 
      handler: function (grid, rowIndex, colIndex) { 
       var rec = grid.getStore().getAt(rowIndex); 
       alert("Edit " + rec.get('name')); 
       rec.set("name", "LISA124"); //Here you may have your logic of updating the data with new data 
       } 
      }, 
      { 
       icon: 'reset.png', 
       tooltip: 'Reset', 
       handler: function (grid, rowIndex, colIndex) { 
        var rec = grid.getStore().getAt(rowIndex); 
        alert("Reset " + rec.get('name')); 
        rec.set("name", rec.raw.name); 
       } 
       } 
      ] 
    } 

взглянуть на эту fiddle

Вы можете использовать подход, предложенный @Jeff, если вы хотите придерживаться своего требования.

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