2011-06-30 59 views
6

我正在使用jqGrid進行內聯編輯,但是當我選擇一個單元格時,光標在行的第一列中設置,但我想知道是否有任何方法來編輯我點擊的當前單元格,而不是第一行。如何編輯jqGrid上選定的單元格

在此先感謝。

+0

類似的問題在http://stackoverflow.com/questions/7219598/how-to-set-focus-to-cell-which-was-clicked-to-start-inline-edit-in-jqgrid其中描述Oleg demo的問題 – Andrus

回答

6

非常好的一點!

我個人更喜歡使用ondblClickRow事件處理程序來啓動編輯模式。所以,你可以使用oneditfunc參數editRow的:

ondblClickRow: function(rowid,iRow,iCol,e) { 
    grid.jqGrid('editRow',rowid,true,function(){ 
     $("input, select",e.target).focus(); 
    }); 
    return; 
} 

或只需將類似的代碼,將焦點設置的editRow調用後:

ondblClickRow: function(rowid,iRow,iCol,e) { 
    grid.jqGrid('editRow',rowid,true); 
    $("input, select",e.target).focus(); 
    return; 
} 

請參見相應的演示here

+0

感謝您的幫助。還有一個問題,數據源中的每一列都必須有一個名字,對吧?我在例子中看到了它。 – Specter

+0

@Specter:不客氣!你現在的問題現在解決了嗎?如果是這樣,您可以將答案標記爲「已接受」(請參閱​​[此處](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235))細節)。關於你的下一個問題:填充網格包含有不同的方法。您可以在這裏找到文檔(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data)。在網格填充的某些方法中,例如,如果在'jsonReader'中的'repeatitems:true',則爲該對象提供指定的屬性,這些屬性代表行或使用字符串數組。 – Oleg

+0

是的,這就是我想要做的,但它不起作用,也許我做錯了什麼,因爲它仍然選擇該行的第一列。在我的代碼中,我有很多jqgrid,我應該使用網格的名稱或ID來調用jquery函數,對吧? – Specter

相關問題