2013-01-10 106 views
3

我想用kendo ui網格上的單擊編輯功能替換爲雙擊。更改單擊編輯雙擊網格

我想保留的設置是:selectable: "multiple, row", editable: true

我發現一個解決方案是設置editable: false並添加$('#grid').delegate('tbody>tr>td','dblclick', function (e){}

不幸的是這將打開讓我的整個編輯過程中的難點等問題。例如,劍道無法輕易跟蹤這些變化,並不會將該字段標記爲用該紅色箭頭更改。

有沒有辦法將默認的kendo單擊功能改爲雙擊?

所以請求的行爲將是:

  1. 單一的點擊選擇行/細胞
  2. 雙擊使細胞進入編輯模式。
+0

您可以檢查另一種方式來做到這一點。 http://stackoverflow.com/questions/20842058/how-to-handle-a-kendo-ui-grid-row-double-click-event –

回答

5

這是不是很不錯但可能做的伎倆:

var myGrid = $('#grid').data("kendoGrid"); 
myGrid.element.on('click', 'tbody>tr>td:not(.k-edit-cell)', function (e) { 
    myGrid.closeCell(); 
}); 
myGrid.element.on("dblclick", "tbody>tr>td:not(.k-edit-cell)", "dblclick", function (e) { 
    myGrid.editCell($(this)); 
}); 

第一on退出對於單次點擊的單元的版本,並且不改變其他如行選擇綁定,第二個進入編輯模式的單元格。

爲什麼要說不錯?因爲我寧願unbind以前的版本click事件(只)而不是關閉版本。

+0

在某一時刻,您的建議可行。是的,當雙擊單元格時,它確實啓用它並將其置於編輯模式。不幸的是,一旦您嘗試在編輯欄中再次按下,例如選擇/標記文本,或者只是在編輯的字段中按下,單元格會再次關閉。 – Stephan

+0

@Stephan,我修改了在選擇器中添加額外條件的代碼(如果單元處於編輯模式,基本上什麼也不做)。 – OnaBai

+1

這確實有用。謝謝 – Stephan

0

我使用此代碼,它的醜陋,但工作原理:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(document).on("dblclick", "#MyGrid td[role='gridcell']", function (e) { 
     // do something 
     }); 
    }); 
</script>