Я знаю, что это не совсем то, о чем вы просили, но я подумал, что добавлю код ниже, если кто-нибудь найдет его полезным. Это временное решение и, по крайней мере, позволяет пользователю перемещаться по сетке и начинать вводить в ячейку для редактирования, без необходимости «сначала инициализировать» редактирование, нажав «Ввод» или дважды щелкнув ячейку; немного похоже на редактирование листа MS Excel.
myGrid.onKeyDown.subscribe(function (e, args) {
var keyCode = $.ui.keyCode,
col,
activeCell = this.getActiveCell();
/////////////////////////////////////////////////////////////////////
// Allow instant editing like MS Excel (without presisng enter first
// to go into edit mode)
if (activeCell) {
col = activeCell.cell;
// Only for editable fields and not if edit is already in progress
if (this.getColumns()[col].editor && !this.getCellEditor()) {
// Ignore keys that should not activate edit mode
if ($.inArray(e.keyCode, [keyCode.LEFT, keyCode.RIGHT, keyCode.UP,
keyCode.DOWN, keyCode.PAGE_UP, keyCode.PAGE_DOWN,
keyCode.SHIFT, keyCode.CONTROL, keyCode.CAPS_LOCK,
keyCode.HOME, keyCode.END, keyCode.INSERT,
keyCode.TAB, keyCode.ENTER]) === -1) {
this.editActiveCell();
}
}
}
}
Спасибо Tin за ответ ... Я сейчас пытаюсь найти решение для имитации Formatter как редактор - немного сложнее, чем это необходимо, но я предполагаю, что это следует сделать трюк. –
Просто убедитесь, что вы не подключаете прослушивателей событий к DOM, сгенерированным SlickGrid, напрямую или каким-либо образом модифицируете его. SlickGrid уничтожает и воссоздает узлы строк при прокрутке. Используйте события, предоставляемые сеткой, или слушайте в контейнере (например, используйте делегирование событий). – Tin
Несомненно, спасибо Tin, мы на самом деле научились этому трудно, так как нам нужно было связать события с некоторыми узлами DOM. Возможно, нам придется выполнить некоторые изредка. Мы открыли запрос функции поддержки DOM в возвращаемом значении Formatter, и я верю, что он вернется к вам на сайте GitHib: D Я не уверен, что рекомендация на 100% возможна, но мы подняли билет (Feature Запрос). Билет: https://github.com/mleibman/SlickGrid/issues/269 –