Extjs 不使用mvc将网格绑定到表单

Extjs 不使用mvc将网格绑定到表单,extjs,Extjs,我正在尝试将网格数据绑定到extjs中的表单。当我点击一个网格行时,应该在表单中填充详细信息。我可以用一种简单的方式而不使用MVC吗。我已经写了下面的代码。进一步帮助我。多谢各位 // JavaScript Document Ext.require('Ext.data.Store'); Ext.require('Ext.grid.Panel'); Ext.define('User', { extend: 'Ext.data.Model', fields: [ 'id','name', 'emai

我正在尝试将网格数据绑定到extjs中的表单。当我点击一个网格行时,应该在表单中填充详细信息。我可以用一种简单的方式而不使用MVC吗。我已经写了下面的代码。进一步帮助我。多谢各位

// JavaScript Document
Ext.require('Ext.data.Store');
Ext.require('Ext.grid.Panel');
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [ 'id','name', 'email', 'phone' ]
});

Ext.onReady(function() {

var userStore = Ext.create('Ext.data.Store', {
    model: 'User',
    data: [
        { id: '1', name: 'srb', email: 'srb@gmail.com', phone: '555-111-1224' },
        { id: '2', name: 'srv', email: 'srv@gmail.com', phone: '555-222-1254' }
    ]
});

Ext.create('Ext.grid.Panel', {
    renderTo: Ext.getBody(),
    store: userStore,
    width: 400,
    title: 'All Users',
    columns: [
        {
            text: 'Id',
            dataIndex: 'id' ,
            flex: 1
        },
        {
            text: 'Name',
            dataIndex: 'name',
            flex: 2
        },
        {
            text: 'Email Address',
            flex: 3,
            dataIndex: 'email',
        },
        {
            text: 'Phone Number',
            flex: 2,
            dataIndex: 'phone'
        }
    ],
    listeners : {
    itemclick: function(dv, record, item, index, e) {
     var nm= record.get('name');     
}
},
});

Ext.create('Ext.form.FieldSet',{
    renderTo: Ext.getBody(),
    margin: '0 0 0 10',

title:'User details',

defaults: {
    width: 240,
    labelWidth: 90
},

defaultType: 'textfield',

items: [{
    fieldLabel: 'Id',
    name: 'id'
},{
    fieldLabel: 'Name',
    name: 'name'
},{
    fieldLabel: 'Email Id',
    name: 'email'
},{
    fieldLabel: 'Phone Number',
    name: 'phone'
}]
    });

});

您使用的是什么版本的extjs

您似乎没有定义或实例化表单

在网格的itemclick事件处理程序中,需要获取对表单的引用,并使用传入的记录调用form.loadRecord(第2个参数):

例如:


使用
Ext.form.Panel
而不是
Ext.form.FieldSet
。字段集更像是一个装饰容器。表单面板支持从表单加载/保存数据等

然后,您需要一种在单击事件中访问表单面板的方法。最简单的方法是在表单上设置一个
id
,并使用来获取表单的引用。因为您已经在那里得到了记录,所以可以使用表单面板的方法

你就完了!很高兴将您的模型和表单字段命名为相同的;)

事件侦听器中的最后一个调用如下所示:

Ext.getCmp('myForm').loadRecord(record);

欢迎来到StackOverflow。你能更具体地说明代码中的错误吗?顺便说一句,你最好抓住这个事件。单击可能与实际的行选择有些不相关。
Ext.getCmp('myForm').loadRecord(record);