【问题标题】:Set the field values to the values from the selected record in tree Extjs将字段值设置为树 Extjs 中选定记录的值
【发布时间】:2018-12-07 22:23:41
【问题描述】:

在我的应用程序中,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 方法

【问题讨论】:

    标签: javascript extjs


    【解决方案1】:

    您可以使用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

    【讨论】:

    • 谢谢。为什么要引用'panel.down('storagepaneltype')'而不是低级组件,例如'panel.down('mainform')'。还是没有区别?
    • 没有区别
    猜你喜欢
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多