2012-11-12 39 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