[英]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.