网格 - 按钮单击处理程序

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

以上是关于网格 - 按钮单击处理程序的主要内容,如果未能解决你的问题,请参考以下文章

从 c# windows 应用程序中的按钮单击将值返回到网格

使用 WPF 的网格中的按钮数组

如何重新加载 WPF 网格

如何在单击按钮时复制和添加现有的网格元素(C#WPF)

单击保存按钮后或以固定时间间隔如何自动刷新交互式网格?

Kendo UI:单击按钮后将网格数据重置为第一页