2015-08-01 4 views
0

У меня есть сетка редактора с четырьмя столбцами, и я пытаюсь реализовать sql-конструктор. Оператор where будет иметь четыре поля, а именно «condition1» «operator» «condition2» и/или ». Я использую поле со списком для выбора между и/или/none, и в качестве действия строки есть кнопка удаления. когда я удаляю строку, и если эта строка является последней, значение и/или комбо в предыдущей строке будет установлено как «none». Я могу добиться этого, но проблема в том, что когда поле со списком выбрало в предыдущей строке, и я удаляю строку рядом с ней, значение изменяется в хранилище, но не в представлении. значение изменяется в представлении, когда поле со списком не выбрано в предыдущей строке. мой код:редактор combo box в сетке редактирования ячейки не отменяет выбор после выбора значения

if(rowIndex == grid.all.endIndex) 
    { 
    //get the previous record and set the vale to none 
    var previousRowRecord = grid.store.getAt(rowIndex-1); 
    previousRowRecord.set('andor','NONE'); 
    //delete the current record 
    grid.getStore().removeAt(rowIndex); 
    grid.getView().refresh(); 
    } 
else 
    { 
    grid.getStore().removeAt(rowIndex); 
    } 

Как отменить комбинированное окно после выбора значения? я думаю, что это может быть работа вокруг

ответ

0

Не уверен, что я правильно понял (скриншот поможет здесь много), но может показаться, что поле со списком все еще находится в состоянии редактирования, когда вы удаляете строку ниже. Если да, то попробуйте следующее:

Сначала убедитесь, что редактор сетки плагин имеет идентификатор:

plugins: [{ 
    ptype: 'cellediting', 
    ... 
    pluginId: 'celleditplugin' 
}], 

Затем, перед удалением строки, выполните следующие действия:

yourGrid.getPlugin('celleditplugin').completeEdit(); 
Смежные вопросы