ExtJS-如何使用javascript操作现有网格?
我正在对一个使用ExtJS网格的站点使用web自动化工具,并希望运行一些JavaScript来模拟一行的“onlick”事件。。。当我在各自的div标签上触发一个常规onclick事件时,什么也没有发生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
我做了一个“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()可能比摆弄选择模型更好。你完全正确,我误解了这个问题。你的答案也不太明白,但我会编辑我的答案,看看我们是否能解决这个问题。:)