2013-01-18 85 views
2
传递参数窗口面板
{ 
    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其中点击窗口面板上的图标的参数的代码。从网格面板中EXTJS4

+0

为什么有你的处理程序,它的参数?你能详细说明那个按钮吗? – sra

+0

实际上它在网格布局下,我使用一个按钮作为动作列。我想在点击它到窗口面板时传递'id'。 – anupkumar

回答

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. 
      } 
     }] 
    } 
] 
+0

上面的代码赢得了什么= Ext.getCmp('somewindow');意味着这里。 – anupkumar

+0

供参考:'rowIdenx'不一定需要是商店内记录的索引。至少我从来没有听说过这样的公约。即使可能在某些情况下我也不会依赖它,直到它们将其重命名为recordIndex;) – sra

+0

谢谢sra。我在开发中有这样的代码:o,我现在要用你的例子修复它:) – A1rPun

1

如果你看一下API,你会看到handler有争论

  • 观:拥有的TableView。
  • rowIndex:点击行索引。
  • colIndex:点击列索引。
  • item:被点击的项目(或者这个Column如果没有配置多个项目)。
  • 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