Я использую сетку с пятнами. В верхней части сетки имеется текстовое поле. Когда пользователь вводит значение в текстовое поле и выходы, нам нужно ввести новую строку в сетку.Невозможно установить фокус и отредактировать ячейку в сетке с пятнами
Вот как выглядит код:
gridOptions = {
useCheckBoxField: 'selected',
data: 'data',
columns: 'columns',
enableCellNavigation: true,
enableColumnReorder: true,
editable: true,
autoEdit: true,
multiColumnSort: true,
rowSelectionModel: 'selectedRows',
enableAddRow: true
}
Это как первый столбец выглядит, который я пытаюсь изменить.
{id: 'id', name: 'id', field: 'id', editor: Slick.Acsiom.Editors.Text, sortable: true, width: 210, minWidth: 100},
Это код для ввода новой строки, а затем сделать первую ячейку редактируемой и установить фокус на ячейку.
var d = $scope.$grid.grid.getData();
$scope.$grid.grid.invalidateRow(d.length);
//Adds the new row as the first row.
d.unshift(item);
$scope.$grid.grid.updateRowCount();
$scope.$grid.grid.setData(d);
$scope.selectedRows = [];
$scope.selectedRows = [0];
//Sets the first row and first column as editable
$scope.$grid.grid.setActiveCell($scope.selectedRows,0);
$scope.$grid.grid.gotoCell(0,0,true);
Проблема: Все работает отлично, за исключением того, клетка остается неизменяемой. Пользователь должен вручную щелкнуть по ячейке, чтобы отредактировать ее. Как я могу сделать редактируемую ячейку сразу после добавления строки?
Если '.editActiveCell' не работает, нам может понадобиться jsbin/рабочий пример проблемы, чтобы увидеть, что мешает сделать редактируемую ячейку. – kavun
Решения, предоставляемые другими пользователями с помощью 'editActiveCell()', должны дать желаемый результат. Быстрый макет их в действии можно увидеть [в этом plnkr] (http://plnkr.co/edit/Au70okKiOWPqNHKEhmcr?p=preview), просто нажмите кнопку «Изменить ячейку». Если это не работает, возможно, проблема связана с кодом в пользовательском редакторе 'Slick.Acsiom.Editors.Text'. Чтобы определить, в чем проблема, требуется репликация plnkr/скрипка. –