2015-02-04 22 views
5

Tôi đang sử dụng ngHandsontable Chỉ thị góc cho Handsontable. Tôi quản lý để hiển thị các dữ liệu thành công, nhưng tôi đang đấu tranh với việc truy cập vào các hàng sửa đổi để tôi có thể gửi dữ liệu đến DB.
Tôi đã cố gắng ràng buộc gọi lại afterChange, nhưng chỉ mục có vẻ bị tắt sau khi sắp xếp cột. (Cho thấy chỉ số của hàng hiển thị trên bàn, không phải trong dataSource)Truy cập các phương pháp/thuộc tính có thể ghi bằng tay bằng cách sử dụng nghandsontable

Tôi tự hỏi thực hành tốt nhất để lưu dữ liệu ngHandsontable hay tôi nên làm gì để truy cập API như phương pháp getData hoặc tài sản columnSorting là những gì

Cảm ơn sự giúp đỡ của bạn! - Marco

+0

Tôi đã xem xét vấn đề này và cố gắng tìm giải pháp. Thật không may điều này đã trở nên rất khó khăn vì tài liệu cho ngHandsontable là đáng sợ để nói rằng ít nhất. Tôi sẽ khuyên bạn nên đăng một số mã mẫu hiển thị vấn đề của bạn hoặc tạo một plnkr cho thấy sự tiến bộ của bạn cho đến nay. Tất cả tôi đã có thể tìm thấy bây giờ là [this] (https://github.com/handsontable/ngHandsontable/issues/34) git vấn đề mà chỉ mơ hồ mô tả một giải pháp có thể. – Bricktop

Trả lời

4

Tôi đã kết thúc bằng sự kiện afterInit để nhận cá thể và sau đó gọi các phương thức trong các sự kiện khác như afterChange.

Đây là cách mã của tôi trông giống như:

afterInit: function() { 
     $scope.hot.instance = this; 
    } 

và sau đó:

afterChange: function (changes, source) { 
     if (source != 'loadData') {   
      var hot = $scope.hot.instance; 
      var dataRow = hot.getSourceDataAtRow(index) 
      // .... saveChanges... 
     }; 
    } 

Cảm ơn rất nhiều để Bricktop đã cho tôi gợi ý.

0

Tôi chỉ giải quyết nó với loại này logic:

post: function postLink(scope, iElement, iAttrs, controller) { 
    var hotDiv = iElement.find("div[hot-table]") 

    var hotInstance = hotDiv.isolateScope().hotInstance; 
    hotInstance.addHook('afterLoadData', function(){ 
     console.log("loaded data"); 
    }); 
} 
0

Đơn giản chỉ cần sử dụng xem mô hình trong bộ điều khiển

var vm = this; 

và sau đó bạn có thể gọi bất kỳ của lõi phương pháp handsontable của mô hình quan điểm này như

this.getCell() 

this.getSourceDataAtRow() 
Các vấn đề liên quan