2015-09-07 5 views
1

Так что я работаю над устаревшим кодом. У меня есть сетка, у которой есть кнопка действия, при нажатии этой кнопки действия она должна позволить пользователю переименовать определенное значение, изменить другое поле и т. Д.ExtJS 3.4 - Имейте xtype: 'displayfield' показывает обновленное значение?

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

Некоторый код:

// the filed that needs to display the newly selected rows data 
items:[ 
    { 
     xtype: 'displayfield', 
     fieldLabel: 'Route', 
     id: 'route', 
     name: 'route' 
    } 

... 

Ext.getCmp('route').setValue(/** currently selected rows route **/); 

enter image description here

Независимо от того, что она продолжает отображать значения его первого присоединенные к, однако в консоли я могу видеть, изменить значения. Я даже попытался сбросить форму после методов отправки и отмены.

ответ

1

В конце я использовал комбинацию ваших ответов. Нажав кнопку действия, я создал новую форму, как и предложил Joe, а затем задал значения для разных полей ввода. Чтобы гарантировать, что данные не были сохранены и что каждое событие загружает данные соответствующих строк, я сделал как Mohit, и уничтожил форму после отправки/отмены. Таким образом, каждая кнопка создает и уничтожает форму.

+0

Не могли бы вы поделиться фрагментом кода, который работал на вас. Я столкнулся с той же проблемой, что и вы. – Vinit89

+0

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

+0

Я решил проблему. Спасибо за ответ – Vinit89

1

Возможно, вы можете попробовать с переменной javascript вместо DOM/селектора компонентов.

var routeField = Ext.create({ 
    xtype: 'displayfield', 
    fieldLabel: 'Route', 
    name: 'route' 
}); 

.... 

items:[routeField] 

.... 

routeField.setValue('A1'); 
+0

Можете ли вы объяснить, как это обеспечит отображение выбранного значения? – avn

1

Уничтожьте вашу формуПанель при нажатии на кнопку отмены, затем проверьте.

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