我有一个包含多个网格的布局,它们都使用RowEditing插件。我试图使用Ext.ComponentQuery.query来访问特定网格上的嵌入式RowEditor按钮,但我无法弄清楚如何正确遍历事物。我想知道它是否与RowEditor和动态添加的按钮有关 - 虽然我找不到任何可以确认预期与否的东西。
编辑添加jsfiddle http://jsfiddle.net/ttubbs/eadfpxao/
在每个网格中激活RowEditing后(双击每个网格中的一行),在控制台中运行以下内容会产生指示结果......
Ext.ComponentQuery.query("roweditorbuttons") // two results
Ext.ComponentQuery.query("roweditorbuttons > #update") // two results
Ext.ComponentQuery.query("#grid1 > roweditorbuttons") // no results
Ext.ComponentQuery.query("#grid1 > #update") // no results
Ext.ComponentQuery.query("roweditorbuttons > button[text=Update]") // two results
我需要能够执行以下操作,但查询不起作用:
Ext.ComponentQuery.query("#grid2 > #update") // give me the update button in #grid2
Ext.ComponentQuery.query("#update").up().itemId === "grid1" // determine which grid my button is in
问题是:
答案 0 :(得分:0)
答案 1 :(得分:0)
首先,您应该在此示例中将网格中的itemId
更改为id
。 “itemId”在您的示例中无关紧要。
假设你的网格有id=grid1
,你的roweditor插件有pluginId=roweditor
:
var plugin = Ext.getCmp("grid1").getPlugin("roweditor");
// you can get the update button like this
var updateBtn = plugin.editor.floatingButtons.down("button");
// you can get the grid from the plugin as well
var grid = plugin.grid;