Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS-如何使用javascript操作现有网格?_Javascript_Extjs_Automation_Web - Fatal编程技术网

ExtJS-如何使用javascript操作现有网格?

ExtJS-如何使用javascript操作现有网格?,javascript,extjs,automation,web,Javascript,Extjs,Automation,Web,我正在对一个使用ExtJS网格的站点使用web自动化工具,并希望运行一些JavaScript来模拟一行的“onlick”事件。。。当我在各自的div标签上触发一个常规onclick事件时,什么也没有发生 我做了一个“Ext.version”,得到了2.2版本,所以我在这里查找了ext2.2API:但我真的无法理解它。我不关心创建一个新的网格,而是处理一个现有的网格。。有什么想法吗?您需要查看GridPanel上的事件。有一个rowclick事件。然后,您可以在网格配置中向网格应用侦听器: new

我正在对一个使用ExtJS网格的站点使用web自动化工具,并希望运行一些JavaScript来模拟一行的“onlick”事件。。。当我在各自的div标签上触发一个常规onclick事件时,什么也没有发生


我做了一个“Ext.version”,得到了2.2版本,所以我在这里查找了ext2.2API:但我真的无法理解它。我不关心创建一个新的网格,而是处理一个现有的网格。。有什么想法吗?

您需要查看GridPanel上的事件。有一个
rowclick
事件。然后,您可以在网格配置中向网格应用侦听器:

new Ext.grid.GridPanel({
    ...
    listeners: {
        rowclick: function() {
            // do some stuff
        }
    }
});
或事后:

var grid = new Ext.grid.GridPanel({
    id: 'fooGrid'
});

Ext.getCmp('fooGrid').addListener('click', function(){
    // do some stuff
})
但是,如您所述,如果要触发onclick事件,请执行以下操作:

var rowIndex = 5;
var grid = Ext.getCmp('fooGrid')

grid.fireEvent('rowclick', grid, rowIndex)
源,可观察的物体。几乎所有内容都继承了ExtJS 2中的Observable:


我认为@WattsInABox可以选择单个组件,但您是在“触发”单击事件之后,而不是添加侦听器

ExtJS存在于它自己的抽象气泡中,因此,与其触发DOM事件“click”事件,不如触发对特定行的选择。选择第一行的代码如下所示:

Ext.getCmp('fooGrid').getSelectionModel().selectRow(0);

“fooGrid”是您打算触发操作的网格id。

您使用的是哪种自动化工具?SWAT,“fooGrid”应该是我们试图操纵的网格的实际id吗?如果是这样,那么中的正确ID是什么标签呢?在使用ExtJS组件时,您不必担心HTML标签。如果通过组件访问对象,一切都会更好。有些ID不会出现在页面上,而是出现在Ext的ComponentManager中。请编辑我的回答以更好地回答您的问题。看结尾。是的,我认为使用fireEvent()可能比摆弄选择模型更好。你完全正确,我误解了这个问题。你的答案也不太明白,但我会编辑我的答案,看看我们是否能解决这个问题。:)