将参数从EXTJS4中的网格面板传递到窗口面板

时间:2013-01-18 08:22:30

标签: extjs extjs4

{
    icon: 'images/delete.png', 
    tooltip: 'Edit',

    handler: function(grid, rowIndex, colIndex) {
            var edit = Ext.create('AM.view.user.Uploadfile').show();
            //here I want to pass parameters to get in window panel     
    }
}

我编写的代码,希望传递参数,就像在窗口面板上单击图标的行id一样。

2 个答案:

答案 0 :(得分:1)

如果您查看API,您会看到 handler 包含参数

  • view:拥有TableView。
  • rowIndex:点击了行索引。
  • colIndex:点击了列索引。
  • item:单击的项目(如果未配置多个项目,则为此列)。
  • e:点击事件。
  • 记录:所点击行的基础记录

最后一个对你有意义。所以你可以这样做

handler: function(grid, rowIndex, colIndex, item, e , record) {
    var win = Ext.create('Ext.window.Window', { 
          autoShow: true, 
          html: record.data.firstname + ' ' + record.data.lastname 
    });
}

这是一个有效的 JSFiddle

答案 1 :(得分:0)

它是动作栏上的按钮。要将Id传递给窗口,您可以通过从记录参数中获取行数据来检索行数据。

columns: [
    { text: 'Id', dataIndex: 'Id', width: 50 },
    {
        xtype: 'actioncolumn',
        width: 100,
        text: 'Delete',
        align: 'center',
        items: [{
            icon: '../images/delete.png',
            tooltip: 'Delete',
            handler: function (grid, rowIndex, colIndex, item, e, record) {
                myWin.id = record.data.Id; //where myWin is a reference to the window object and id is just a config.
            }
        }]
    }
]