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

时间:2013-05-04 10:14:27

标签: javascript jquery extjs3

我是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 个答案:

答案 0 :(得分:0)

你需要附加听众,例如

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

                                            });
                    });

             }