簡體   English   中英

如何從ExtJS網格中的rowselection獲取列名?

[英]How do I get column name from rowselection in an ExtJS grid?

我有一個extjs網格面板設置,我希望能夠根據用戶點擊網格中的文本或圖標來做事情。 例如,如果用戶單擊(或雙擊)列中的單詞,則過濾網格,或者如果用戶單擊圖標,則顯示彈出窗口。 我可以很容易地獲取他們點擊的行,並按該行的列名稱輸入值,但我不知道單擊了哪一列。

或者,我可以將onClick添加到整個網格,然后我可以從行/列中獲取單個文本,但我不知道該值屬於哪個行索引或列。 我可以添加一個CSS類來告訴我一個列名,但這似乎是一個黑客。

有什么內置可以做到這一點?

網格上的“cellclick”事件是要走的路。 偵聽此事件的函數將被傳遞:

  • ( Grid this, Number rowIndex, Number columnIndex, Ext.EventObject e )

如果要獲取gridCell的文本,則調用yourGrid.getView().getCell(rowIndex, colIndex)將返回DOM元素。

如果要獲取列標題,請調用: yourGrid.getColumnModel() getColumnHeader(colIndex)

如果要查找有關特定列的任何其他內容,請調用yourGrid.getColumnModel() getColumnAt(colIndex)

我想如果你對列明智的事件感興趣,那么rowselection是一個錯誤的事件。 正如約書亞所建議的那樣 ,你需要研究這個事件。

此事件可以給出列的dataIndex

var fieldName = grid.getColumnModel().getDataIndex(columnIndex); 

請查看edit-grid.html示例,了解復選框呈現和事件處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM