网格 - 按钮单击处理程序
Posted
技术标签:
【中文标题】网格 - 按钮单击处理程序【英文标题】:Grid - button click handler 【发布时间】:2012-07-02 16:13:14 【问题描述】:在我的Grid
中,当我单击“操作”按钮(下面代码中显示的删除和编辑按钮)时,我需要弹出一个窗口而不用警告消息提醒用户;
在下面的代码中,我使用 HANDLER handler: buttonClicked
并尝试访问我从下面的不同函数中单击的行值
buttonClicked :function ()...
我不知道该怎么做,有人可以帮我吗?
我可以从Controller
类访问我单击的行并显示其名称吗?
代码片段
Ext.define('CountryAppTest.view.user.Gridview',
extend: 'Ext.grid.Panel',
initComponent: function()
this.store = 'store';
this.columns = [
xtype: 'ac',
items: [
icon: 'lib/extjs/examples/restful/images/delete.png',
handler: buttonClicked
]
,
text: "username",
dataIndex: 'username'
];
this.viewConfig =
forceFit: true
;
this.callParent(arguments);
,
buttonClicked: function(grid, rowIndex, colIndex)
var rec = grid.getStore().getAt(rowIndex);
Ext.Msg.alert("Info", "name " + rec.get('username'));
);
【问题讨论】:
这两个问题的答案都是肯定的。你看过MCV docs吗?您应该能够从那里弄清楚如何做到这一点。 我已经尝试过 MVC 文档,但仍然无法正常工作。 第 8 行括号有误 【参考方案1】:将参数(grid, rowIndex, colIndex)
添加到您的buttonClicked
声明中。
【讨论】:
当我这样做时,它会显示handler: buttonClicked is not defined
。
在你有 buttonClicked 的声明中:function()
更改为handler: this.buttonClicked
如果我想在Controller类中拥有buttonClicked函数,我该如何传递参数并在Controller类中执行函数?
你真的需要阅读和浏览docs.sencha.com/ext-js/4-0/#!/guide/application_architecture以上是关于网格 - 按钮单击处理程序的主要内容,如果未能解决你的问题,请参考以下文章