2012-08-30 179 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

相關問題