2012-11-12 38 views
2

我实际上不确定这是否可能,但我仍然会问。我有一组手风琴控件,并且在每个内容主体内需要显示一个网格面板。网格面板需要附加一个点击事件。我试图简单地创建网格面板并将手风琴的html属性设置为它,但这不会产生任何内容。Extjs为手风琴内容添加网格面板

有什么我可以实现上述?

回答

4

您不能将html内容(由属性插入)连同任何其他内容一起使用。如果添加任何item,则html属性值将不会设置/覆盖。但是可以肯定的是你可以将任何你想要的东西放到一个手风琴面板上即使是一个网格。但是对于这种情况,并且基于last question,我建议您将视图引用到网格中。您可以简单地使用ComponentQuery

单击事件可以通过使用控制器的control函数来应用。

为了您的基本认识:

在ExtJS的你很少使用纯HTML代码。在大多数情况下,您使用任何种类的组件。全部嵌套在items-array或dockedItem-array中。这些数组中的项目也会被布局系统处理。

适用于控制功能

在以下this一些查询示例指的是控制器本身。

你知道网格的ID(通常你没有这样做)。 ID是由起始#

control({'#yourId': {itemclick: this.onItemclick }}); 

你知道的xtype,并且只有一个这种类型的实例坊间。您还可以使用xtypes之间的空格来描述路径。

control({'grid': {itemclick: this.onItemclick }}); 

您已将自定义属性设置为网格(您可以通过此方式引用任何属性)。这一个完全兼容上面的那个。 我建议你的情况

control({'grid[customIdent=accordionGrid]': {itemclick: this.onItemclick }}); 

这只是一些使用ComponentQueries方面,这一个,还有更多。如需更详细的解释,你应该参考的ComponentQuery

的煎茶API还注意到,每一个组件实现了up()down()方法也支持ComponentQueries。

我忘了提及:对于一个控件来说,查询只需要返回一个结果(只有第一个结果会被采用),另一方面ComponentQuery可以返回多个结果。

+0

谢谢你的继续帮助。我的网格正在很好地添加到手风琴的items属性中。关于事件的主题,您是否可以提供网格项目点击的基本示例?我假设我必须在行级设置一些属性(我的唯一ID),然后附加一个事件处理程序 - 这大概驻留在控制器中? – BrynJ

+0

@BrynJ一点也不。你只需要一个你的目标网格的“描述”。我将编辑我的帖子... – sra

+0

@BrynJ确定,编辑完成 – sra