Angularjs 在ngGrid中仅使某些单元格可编辑?

Angularjs 在ngGrid中仅使某些单元格可编辑?,angularjs,ng-grid,Angularjs,Ng Grid,我有一个ngGrid,它显示了一些基本上带有键/值内容的记录。现在,我想让这些记录中的一些可以编辑 使用ngGrid的enableCellEditing功能,我可以为一个完整的列启用或禁用editin,但是如果我只想为该列中的某些行启用它呢?是否有任何方法可以为每一行动态配置此选项?稍后回答,但是ng grid(现在作为ui grid重做)现在有一个选项,您可以使用该选项仅使某些单元格可编辑 您只需将其添加到网格选项中即可: enableCellEditOnFocus: true, cellEd

我有一个ngGrid,它显示了一些基本上带有
/
内容的记录。现在,我想让这些记录中的一些可以编辑


使用ngGrid的
enableCellEditing
功能,我可以为一个完整的列启用或禁用editin,但是如果我只想为该列中的某些行启用它呢?是否有任何方法可以为每一行动态配置此选项?

稍后回答,但是ng grid(现在作为ui grid重做)现在有一个选项,您可以使用该选项仅使某些单元格可编辑

您只需将其添加到
网格选项中即可:

enableCellEditOnFocus: true,
cellEditableCondition: 'row.rowIndex !== 2' //can edit all rows except for the third


此功能仅在ng grid 2.0.9之后可用。您可以使用cellEditableCondition,如下代码所示


{field:'planTypeName',displayName:$rootScope.commonProperty.name,enableCelleditionFocus:true,enableCellEdit:true,cellEditableCondition:function($scope){return$scope.row.entity.sts='A';},

我认为目前唯一的方法是自定义编辑模板,但它们对所有行都是相等的,不是?什么,例如,如果我想根据单元格内容使用不同类型的编辑模板,例如不同数据类型的不同
input
字段?是的,但在自定义模板中,您可以查看某个范围属性或调用范围函数以查看单元格是否应可编辑。啊,好的,我明白了。。。基本上,在模板中使用
ng if
或类似的东西,并在作用域上调用一个函数,将单元格作为参数,以验证此单元格是否应可编辑,对吗?是的,类似的东西可以工作。