2017-02-09 3 views
1

У меня есть список json, у которого есть поле ввода и некоторые раскрывающиеся поля. теперь, когда вы показываете его в datatable, я хочу показать поле ввода или раскрывающееся поле на основе типа поля в моем списке json.PrimeNG - datatable: Как динамически загружать столбцы и их поля в файле primeNg?

мой код

<p-dataTable [value]="earningList" [responsive]="true" reorderableColumns="true" [editable]="true" > 
<p-column [style]="{'width':'38px', 'padding-left':'10px'}" selectionMode="multiple"></p-column> 
<p-column *ngFor="let column of earningColumns" [field]="column.field" [header]="column.header" [editable]="column.editable" [style]="{'width':'100px'}"> 

</p-column></p-dataTable>           

Этот код работает и показывает все данные и столбцы, но я хочу, чтобы показать, если поле выпадающий в списке JSon то в таблице должно показать выпадающий список.

Как я могу это сделать? если условие работает здесь? Благодарим заранее.

EDIT: После Alex комментарии, у меня есть изменить свой код, как следовать

<p-column *ngFor="let column of earningColumns" [field]="column.field" [header]="column.header" [editable]="column.editable" [style]="{'width':'100px'}"> 
<template let-col let-earnings="rowData" pTemplate="editor"> 
    <p-dropdown *ngIf="column.isDropdown" [style]="{'width':'100px'}" [options]="taxFrequency"></p-dropdown> 
</template> 

но он показывает выпадающее меню без списка.

ответ

1

Ответ на ваш вопрос: Templates. Вы можете использовать их для стилизации своих ячеек в зависимости от значений данных. Там вы можете использовать что-то вроде *ngIf="column.isDropdown", чтобы отобразить выпадающее меню.

+0

Я пробовал с * ngIf, и он показывает выпадающий список, но он не показывает список для этого, только пустое раскрывающееся меню отображается. –

+0

Это, похоже, проблема с областью 'taxFrequency'. Я не могу сказать, где это находится, и если вы обращаетесь к нему правильно. –

+0

taxFrequency - мой список json типа SelectItem, и это их компонент. и этот список TaxFrequency становится привязанным к раскрывающемуся списку, если я использую его в стрококодированном раскрывающемся списке где-то на странице. –

Смежные вопросы