2016-12-02 6 views

答えて

2

あなたは、グリッドのデータプロパティに変更されたデータを再割り当てする場合、これは自動変更検出をトリガーすると、すべてが期待どおりに動作します。 ↑ 例えば:

data.splice(index, 1); 
this.gridView.data = data; 

これは、変化検出をトリガし、グリッドを更新するための好ましい方法です。

また、基礎となるデータを変更する場合は、手動で変更の角度を通知する必要があります。 Angle 2で変更検出をトリガする方法はいくつかあります。たとえば、ChangeDetectorをコンポーネントのコンストラクタに挿入し、detectChangeを呼び出すことができます。例:

import { Component, OnInit, ChangeDetectorRef } from '@angular/core';  

constructor(private cd: ChangeDetectorRef) { 
    } 

    private trash() { 
     this.gridView.data.splice(index, 1); 
     this.cd.detectChanges() 
    } 

一般的に、Angular 2が変更検出を実行する方法と、必要に応じて手動でトリガする方法をWebで読むことをお勧めします。

+0

おかげで動作していません。私はそれがあなたの提案を試した後に問題を引き起こす何か他のものであることに気づいた。私は現在、グリッドを「ページング」しています。メインの「データソース」からデータを削除していましたが、個々のページは更新されていませんでした。あなたの答えは、私が質問にした言い方にぴったりです。 –

0
data.splice(index, 1); 
this.gridView.data = data; 

は、ページングオプションで応答のための

関連する問題