将字段值设置为树Extjs中所选记录的值

时间:2018-11-13 10:20:10

标签: javascript extjs

在我的应用程序中,两个组件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

中的示例

第37行的控制器文件中的showDataFields方法

1 个答案:

答案 0 :(得分:2)

您可以使用loadRecord,这将通过name属性将您的记录数据映射到您的表单。首先检索表单,然后为其设置记录:

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

    ...

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

此外,您需要将“名称”属性从name更改为text,以使表单匹配记录属性。在Fiddle.view.StoragePanel中:

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

这里是FIDDLE