【发布时间】:2015-10-21 15:48:38
【问题描述】:
我正在使用光滑的网格。在网格的顶部,我们有一个文本框。当用户在文本框中输入一个值并跳出标签时,我们需要在网格中输入一个新行。
这就是代码的样子:
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/工作示例来查看是什么干扰了使单元格可编辑。 -
其他人使用
editActiveCell()提供的解决方案应该可以达到预期的效果。可以在in this plnkr 中看到它们的快速模型,只需单击“编辑单元格”按钮。如果这不起作用,那么问题可能出在自定义编辑器Slick.Acsiom.Editors.Text中的代码上。需要复制问题的 plnkr / fiddle 以确定问题所在。
标签: javascript jquery slickgrid