Model view controller EXTJS MVC将数据从一个视图发送到另一个视图
我正在使用EXTJS MVC架构开发应用程序。 我已经创建了一个dataview,它由系统中的用户列表组成,dataview中的每个项目由三个按钮组成。其中之一是“编辑”按钮,单击该按钮可打开另一个视图。此视图由一个表单组成,可在其中编辑用户详细信息。现在,我想到的是,当我打开表单时,我希望将用户详细信息加载到表单的字段中 那么,如何将数据从dataview发送到表单,以便加载相应于用户的数据 代码如下: 控制器Model view controller EXTJS MVC将数据从一个视图发送到另一个视图,model-view-controller,extjs,extjs4,extjs4.1,extjs-mvc,Model View Controller,Extjs,Extjs4,Extjs4.1,Extjs Mvc,我正在使用EXTJS MVC架构开发应用程序。 我已经创建了一个dataview,它由系统中的用户列表组成,dataview中的每个项目由三个按钮组成。其中之一是“编辑”按钮,单击该按钮可打开另一个视图。此视图由一个表单组成,可在其中编辑用户详细信息。现在,我想到的是,当我打开表单时,我希望将用户详细信息加载到表单的字段中 那么,如何将数据从dataview发送到表单,以便加载相应于用户的数据 代码如下: 控制器 init : function() { this.control({
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();
您的userListSelectionChange方法接收'record'参数中的网格行数据,然后,您要做的就是使用表单的loadRecord方法加载表单,仅此而已。解决了它:)我表单中的名称与记录的名称不同。 我有 而在我的表格里
name : FName
我改成
name : Name
非常感谢lontivero的帮助是的,我试过了,但不起作用。将编辑我的代码并显示我所做的事情。您可以包括您的表单代码吗?我正在开发一个包含大量表单的大型应用程序,loadRecord是填充这些表单的方法。
name : Name