2010-07-19 253 views
5

默認情況下,如果一個jqGrid單元格是可編輯的,單擊該單元格將其更改爲編輯模式。有什麼辦法可以讓它在雙擊上進行編輯嗎?這可以使刪除等行級操作更容易,因爲網格中的所有列都是可編輯的。jqGrid單元格編輯 - 雙擊編輯?

回答

7

是的,您可以使用ondblClickRow事件來捕獲雙擊。

下面是一個簡單的例子,讓你開始:

ondblClickRow: function(){ 
    var row_id = $("#grid").getGridParam('selrow'); 
    jQuery('#grid').editRow(row_id, true); 
} 
+0

謝謝,但是這並不完全符合我的初衷。看看這段代碼,看起來這會調出表單來編輯整行的內容,而我想對單個單元格進行內聯編輯。另外,如何在單擊時禁用單元格編輯,同時仍然可以通過單擊來選擇行? – Kyle 2010-07-21 11:58:17

+0

'editRow'用於內聯編輯,而不是表單編輯。另外,在我的網格中,我需要通過'onSelectRow'事件顯式調用'editRow',以便通過單擊進行編輯。如果您只是刪除此代碼,您將禁用單擊。請記住,雙擊編輯對您的用戶來說可能並不直觀...... – 2010-07-21 13:19:14

+0

您的意思是您是否從jqGrid代碼本身移除了代碼?此外,您可能是正確的,但我並不認爲即使單擊文本進行編輯也是非常直觀的。至少在像Excel這樣的應用程序中,編輯單元格需要雙擊,所以它不是沒有先例的。思考? – Kyle 2010-09-16 12:19:03

2

我得到了答案。你只需要放置代碼上的jqGrid屬性 例如:

width: 800, 
     height: 200, 
     caption:"   .:: Captura de Datos ::.", 
     addedrow: "last", 
     ondblClickRow: function (rowid, iRow,iCol) { 
      alert('Doble Click'); 
      //jQuery("#TBLReporte").editCell(iRow, iCol, true); 
     }