Установите значения полей в значения из выбранной записи в дереве Extjs - PullRequest
0 голосов
/ 13 ноября 2018

В моем приложении два компонента Ext.tree.Panel и Ext.form.Panel Когда я щелкаю по записи дерева, мне нужно установить значения полей на значения из выбранной записи.

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

...
showDataFields: function(view, record, item, index, event) {
    //got a form with fields
    var panel = view.up('mainpanel');
    var formfield = panel.down('mainform');
    //got the selected entry in the tree
    sel = view.getSelectionModel().getSelection()[0];
    console.log(sel)
    //How to assign values from selected record to form fields?
}
...

Как я могу это сделать?Пример в fiddle

Метод showDataFields в файле контроллера в строке 37

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете использовать loadRecord, который сопоставит данные вашей записи с вашей формой с помощью свойства name.Сначала получите форму, а затем установите для нее свою запись:

showDataFields: function(view, record, item, index, event) {

    ...

    var form = panel.down('storagepaneltype');
    form.loadRecord(record);
}

Кроме того, вам нужно изменить свойство "name" с name на text, чтобы сделать свойство записи соответствия формы.В Fiddle.view.StoragePanel:

items: [{
    xtype: 'textfield',
    name: 'text',             //<-- here
    fieldLabel: 'Наименование',
    itemId: 'name_field',
    value: '',
    //bind: '{person.name}'
}

Вот FIDDLE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...