使用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();
答案 0 :(得分:1)
您的userListSelectionChange方法接收'record'参数中的网格行数据,然后您需要做的是使用表单的loadRecord方法加载表单,这就是全部。
答案 1 :(得分:0)
解决了它:)我的表单中的名称与记录的名称不同。 我有
record.data.Name
而在我的形式
name : FName
我已改为
name : Name
非常感谢lontivero的帮助