Po upgrade Angulara 2 do wersji 4 zauwazylem buga, sprawdzcie u siebie czy tez tak macie.

W Angular 2 ponizszy kod dzialal doskonale:

private nodes:any[] = []

ngOnChanges() {
    this.nodes.push({label: 'foo'})
}

<p-dataTable [value]="nodes">
                    <p-column field="label" header="Remove">
                    </p-column>
</p-dataTable>

Natomiast w Angular 4, PrimNG nie wylapuje juz zmian w czyms, co nie jest inicjalizowane od nowa za pomoca '='. Tzn, gdybym nadpisal this.nodes za pomoca .push() (czyli dodal element do tablicy) to niestety to juz nie zadziala. Nie wiem czemu tak sie dzieje.