長い投稿には忍耐を持ってください。PrimeNG Datatable - 特定の行のセル編集を無効にする
私は彼らのexampleと同様のPrimeNGとAngular2を、使用して編集可能なデータテーブルがあります。
<p-dataTable [value]="cars" [editable]="true">
<p-column field="vin" header="Vin" [editable]="true"></p-column>
<p-column field="year" header="Year" [editable]="true"></p-column>
<p-column field="brand" header="Brand" [editable]="true" [style]="{'overflow':'visible'}">
<template let-col let-car="rowData" pTemplate="editor">
<p-dropdown [(ngModel)]="car[col.field]" [options]="brands" [autoWidth]="false" [style]="{'width':'100%'}" required="true"></p-dropdown>
</template>
</p-column>
<p-column field="color" header="Color" [editable]="true"></p-column>
<p-column field="saleDate" header="Sale Date" [editable]="true" [style]=" {'overflow':'visible' }">
<template let-col let-car="rowData" pTemplate="body">
{{car[col.field]|date }}
</template>
<template let-col let-car="rowData" pTemplate="editor">
<p-calendar [(ngModel)]="car[col.field]"></p-calendar>
</template>
</p-column>
</p-dataTable>
を、私は、セルにエラーがある場合は、カスタムCSSを設定する必要があるため*私のテーブルには、テンプレートと、すべての列があります。
Priceフィールドがあるとします。私は、例えば、この列の[編集可能]プロパティを設定するが、これはまた、(Price
列の各セルのために)独立した行する必要がある必要がある
<p-column field="price" header="Car Price">
<template let-col let-car="rowData" pTemplate="body">
<span [ngClass]="{'error':car['hasError']}">{{car[col.field] }}</span>
</template>
</p-column>
Price
セルは、AudiがBrand
として選択されている車に対してのみ編集可能です。
contentEditable={customCondition}
を追加しようとしましたが、機能しません。[editable]
プロパティは、特定のセルではなく、列全体の編集を無効にします。
ご意見やご提案は高く評価されます。