2012-08-30 134 views
0

正在开发使用EXTJS MVC体系结构的应用程序。 我已经创建了一个由系统中的用户列表组成的数据视图,并且数据视图中的每个项目都由三个按钮组成。其中之一是编辑按钮,点击后打开另一个视图。该视图由一个可以编辑用户详细信息的表单组成。现在,我碰到的是,当我打开表单时,我想要将用户的详细信息加载到表单的字段中。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

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

record.data.Name 

而在形式,我不得不

name : FName 

我已经更改为

name : Name 

谢谢lontivero这么多的帮助

1

你userListSelectionChange方法在“记录”参数接收网格行数据,那么,你所要做的就是加载使用form's loadRecord方法形式,that's所有。

+0

是的,我曾尝试那,但它不工作。将编辑我的代码,并显示我已经完成 – rosebrit3

+0

你可以包括你的表单代码?我正在开发一个具有大量表单的大型应用程序,loadRecord是填充它们的方式。 – lontivero

相关问题