2017-09-15 84 views
1

在ui-grid的beginCellEdit中,我想以編程方式點擊單元格以進入深度編輯。有沒有可以讓我在beginCellEdit事件處理程序做到這一點的方法?以編程方式點擊ui-grid中的單元格以進入深度編輯

我beginCellEdit如下所示。

gridApi.edit.on.beginCellEdit($scope, function (rowEntity, colDef, newValue, oldValue) { 

//method to invoke the click action 

}); 

請讓我知道。

回答

0

通過單擊已處於編輯模式的單元格來啓動深度編輯。

這將是一個骯髒的解決方法充其量,但它似乎工作。

您將需要一段this answer的代碼,以及一種獲取要單擊的元素的方法。 我啓用了用戶界面併網cellNav,所以我的細胞具有類:'ui-grid-cell-focus'另外我使用jQuery,因爲我有也無妨加載。

$('.ui-grid-cell-focus').parent().find('form').children()[0] 

我選擇單元格,然後我得到它的父親,發現裏面的表單元素,希望它會比只是簡單的輸入框進行更多的合作選擇中的第一個子元素。

這裏是整個事情。

function eventFire(el, etype) { 
    if (el.fireEvent) { 
     (el.fireEvent('on' + etype)); 
    } else { 
     var evObj = document.createEvent('Events'); 
     evObj.initEvent(etype, true, false); 
     el.dispatchEvent(evObj); 
    } 
} 

$scope.gridOptions.onRegisterApi = function (gridApi) { 
    gridApi.edit.on.beginCellEdit($scope, function (rowEntity, colDef, newValue, oldValue) { 
     eventFire($('.ui-grid-cell-focus').parent().find('form').children()[0], 'click'); 
    }); 
};