0

我正在使用 EXTJS MVC 架构开发应用程序。我创建了一个数据视图,其中包含系统中的用户列表,数据视图中的每个项目都包含三个按钮。其中一个是编辑按钮,单击它会打开另一个视图。此视图包含一个可以编辑用户详细信息的表单。现在,让我印象深刻的是,当我打开表单时,我希望将用户详细信息加载到表单的字段中。

那么,我如何将数据从数据视图发送到表单,以便加载与用户相关的适当数据?

这是代码:

控制器

init : function() {
    this.control({
        'button[action=addUsers ]' : {
            click : this.addUsers
        },
        '#userlist' : {
            itemclick : this.userListSelectionChange
        }
    })
},
userListSelectionChange : function(view, record, h, ind, evt) {

    console.log('user List clicked')

    var edit = evt.getTarget('a.icon-edit-32');
    var deletebt = evt.getTarget('a.icon-delete-32');

    if (edit != null) {

        var name = record.get('Name');
        console.log(name);

        this.showHWindow(record);
    }

    if (deletebt != null) {

        var name = record.get('Name');
        console.log(name);

        this.showOffWindow();
    }
},

当调用 showHWindow() 方法时,表单打开,我希望表单加载该特定用户的数据。而且,即使它打印了正确的名称

var name = record.get('Name');

我不确定如何将此数据发送到表单。

另外,我尝试使用 loadRecord 方法,但字段为空。

this.euWin = Ext.create('Campus.view.EditUsers');   

var f = this.getEdituserform().getForm();

    f.loadRecord(record);

    this.euWin.showWin();
4

2 回答 2

1

然后,您的 userListSelectionChange 方法在“记录”参数中接收网格行数据,您要做的就是使用表单的 loadRecord 方法加载表单,仅此而已。

于 2012-08-30T11:48:30.357 回答
0

解决了:)我表格中的名称与记录中的名称不同。我有

record.data.Name 

而以我的形式

name : FName

我已更改为

name : Name

非常感谢 lontivero 的帮助

于 2012-08-30T12:09:29.447 回答