2012-05-08 39 views

Trả lời

27
grid.onBeforeEditCell.subscribe(function(e,args) { 
    if (!isCellEditable(args.row, args.cell, args.item)) { 
    return false; 
    } 
}); 
+1

+1 - Một giải pháp tốt hơn nhiều! Tôi chưa bao giờ sử dụng lưới này trước đây vì vậy tôi ngay lập tức viện đến 'hack' đi vào nó. [Đây là một fiddle] (http://jsfiddle.net/R9fMD/4/) để khen câu trả lời của bạn. Nó chỉ đơn giản là vô hiệu hóa chỉnh sửa trong hàng thứ 4. –

+0

Giải pháp tuyệt vời !! Tôi nên nghĩ về nó: P –

1

Bạn có thể vô hiệu hóa hoặc thậm chí thay đổi biên tập/định dạng/validator ... hoặc các thuộc tính di động khác sử dụng phương pháp getItemMetadata. Có tài liệu rất hay cho here này.
Ví dụ:

$scope.data.data.getItemMetadata = function (row) { 
    var item = $scope.data.data.getItem(row); 
    if (item.some_condition) { 
    return { 
     columns : { 
     yourColumnId : { 
      editor : null, 
      formatter : function() { return 'custom formater if some_condition'; } 
     } 
     } 
    }; 
    } 
}; 
Các vấn đề liên quan