0

EXTJSMVCアーキテクチャを使用してアプリケーションを開発しています。システム内のユーザーのリストで構成されるデータビューを作成しました。データビューの各項目は3つのボタンで構成されています。それらの1つは編集ボタンで、クリックすると別のビューが開きます。このビューは、ユーザーの詳細を編集できるフォームで構成されています。ここで、フォームを開いたときに、ユーザーの詳細をフォームのフィールドにロードする必要があります。

では、ユーザーにそれぞれ適切なデータが読み込まれるように、データビューからフォームにデータを送信するにはどうすればよいですか?

コードは次のとおりです。

コントローラ

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 メソッドは、'record' パラメータでグリッド行データを受け取ります。次に、フォームの loadRecord メソッドを使用してフォームをロードするだけです。

于 2012-08-30T11:48:30.357 に答える
0

解決しました:)私のフォームの名前はレコードの名前と異なっていました。私が持っていた

record.data.Name 

一方、私が持っていた形では

name : FName

私はに変更しました

name : Name

助けてくれてありがとうロンティベロ

于 2012-08-30T12:09:29.447 に答える