EXTJS网格中的选择行

时间:2014-10-07 01:48:28

标签: javascript extjs model-view-controller

我正在使用extjs网格并尝试从网格中弹出一个选定的行。 用例: 1)在顶部有一个带有修改按钮的网格 2)选择一行并单击按钮以打开弹出窗口 3)尝试在弹出窗口中显示数据 getSelectionModel()返回为空。 弹出窗口在控制器中。

以下是代码

Ext.define('App.controller.MakerController', {
extend : 'Ext.app.Controller',

models : [],

stores : ['AllowedAccessStore'],

views : [ 'makertabpanel','userinfogrid' ],

init : function() {
    this.control({
        'makertabpanel button[name= addNewUser]' : {
            click : this.openDialog
        },

        'makertabpanel button[name= modifyUser]' : {
            click : this.openmodifyDialog
        }
    });
},
,
openmodifyDialog : function() {
    console.log("userinfoGrid 1:"+this.getUserinfoGrid());
    var userinfoGrid = Ext.getCmp('userinfogridID');
    console.log("userinfoGrid:"+userinfoGrid.getSelectionModel().getCount()); // Returns 0
    console.log("hasSelection:"+ userinfoGrid.getSelectionModel().getSelection());

    if (userinfoGrid.getSelectionModel().hasSelection()) {
       var row = userinfoGrid.getSelectionModel().getSelection()[0];
       console.log(row.get('id'));

       this.userId = Ext.getCmp('usernameID').setValue(row.get('id'));
       this.userFName = Ext.getCmp('userFirstName').setValue(row.get('fname'));
       this.userLName = Ext.getCmp('userLastName').setValue(row.get('lname'));
    }

    //this.openDialog();
},
.
.
.

0 个答案:

没有答案