如何确定单击了哪个单元格?

Posted

技术标签:

【中文标题】如何确定单击了哪个单元格?【英文标题】:How to determine what cell has been clicked? 【发布时间】:2013-05-04 10:14:27 【问题描述】:

我是 javascript 新手,我必须使用 ExtJS 3.4。我创建了一个包含 3 列的简单树。我想知道选择了哪个单元格,甚至想知道选择了哪些行和列。

我只是使用 Sencha 在http://dev.sencha.com/deploy/ext-3.4.0/examples/treegrid/treegrid.html 使用的示例:

  var tree = new Ext.ux.tree.TreeGrid(
    title: 'Core Team Projects',
    width: 500,
    height: 300,
    renderTo: Ext.getBody(),
    enableDD: true,

    columns:[
        header: 'Task',
        dataIndex: 'task',
        width: 230
    ,
        header: 'Duration',
        width: 100,
        dataIndex: 'duration',
        align: 'center',
        sortType: 'asFloat',
        tpl: new Ext.XTemplate('duration:this.formatHours', 
            formatHours: function(v) 
                if(v < 1) 
                    return Math.round(v * 60) + ' mins';
                 else if (Math.floor(v) !== v) 
                    var min = v - Math.floor(v);
                    return Math.floor(v) + 'h ' + Math.round(min * 60) + 'm';
                 else 
                    return v + ' hour' + (v === 1 ? '' : 's');
                
            
        )
    ,
        header: 'Assigned To',
        width: 150,
        dataIndex: 'user'
    ],

    dataUrl: 'treegrid-data.json'
);

在 ExtJS 3.4 中可以做到这一点吗?我可以获取节点,但我看不到它在哪里告诉我选择了哪个单元格或列或行。

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

你需要附加监听器,例如

 listeners: 
                afterRender: function(p) 
                    p.body.on('click', function()  // Function tapping clicks on Panel
                    alert(p.getTargetEl().dom.innerHTML);

                                            );
                    );

             

【讨论】:

很高兴,很高兴我能提供帮助

以上是关于如何确定单击了哪个单元格?的主要内容,如果未能解决你的问题,请参考以下文章

查找单击了哪个单元格并执行 Segue

如何在 React 中取消单击表格单元格

如何识别已单击的表格单元格?

自定义单元格中的多个按钮。单击了哪一行中的哪个按钮?

我如何知道在详细视图中选择了 tableview 中的哪个单元格?

Excel中 如何局部修改单元格里的内容