Разрешить редактировать только некоторые строки в ng-grid

У меня есть ng-сетка, в которой я хотел бы разрешить редактирование только определенных строк. Кажется, ng-grid — это редактируемая сетка «все или ничего», я что-то упустил или есть обходной путь?


person Hilo    schedule 05.09.2013    source источник


Ответы (1)


Обходной путь, который я придумал, состоит в том, чтобы заменить cellEditTemplate в $templateCache дополнительным условием в директиве ng-edit-cell-if. Например, мы хотим, чтобы строка 0 была доступна для редактирования, а строка 1 — только для чтения:

$templateCache.put("cellEditTemplate.html",
  "<div ng-cell-has-focus ng-dblclick=\"editCell()\">" +
    "   <div ng-edit-cell-if=\"!isFocused || row.rowIndex == 1\">   " +
    "       DISPLAY_CELL_TEMPLATE" +
    "   </div>" +
    "   <div ng-edit-cell-if=\"isFocused && row.rowIndex == 0\">" +
    "       EDITABLE_CELL_TEMPLATE" +
    "   </div>" +
    "</div>"
);
person Hilo    schedule 06.09.2013