2017-06-29 3 views
0

Ich habe oben Zeile hinzugefügt, die Multiselektionsmodus in meiner Priming-Datentabelle aktiviert. aber ich möchte bestimmte Checkboxen abhängig von der Bedingung deaktivieren. Wie geht das? Ich versuchte das gleiche mit [rowstyleclass], aber es hat Leistungsproblem, da es aufgerufen wird evereytime Ich schweben Maus auf bestimmte Zeile. Irgendeine Lösung?Primeng Multiselection-Modus: Wie Bedingung anwenden, um Kontrollkästchen auf der Grundlage der Bedingung zu deaktivieren

Antwort

1

Sie können templating verwenden, um das zu erreichen. Deaktivieren Sie einfach die Kontrollkästchen basierend auf Ihrer Bedingung in der Vorlage, und Sie sollten gut gehen.

+0

Ich habe versucht, mit Vorlage zu erreichen, aber es funktioniert nicht – user19041992

+0

, dass die einzige Lösung ist, und ich habe es in einem Arbeits von meinen Projekten, also könntest du es auch tun! – trichetriche

+0

Haben Sie einen Beispielcode? – user19041992

1

Sie können Spaltenvorlage verwenden, um dies zu erreichen. Hier ist ein Beispielcode.

Hier sind alle geradzahligen Zeilen mit der Logik deaktiviert - [disabled] = "item.Id% 2 == 0", Sie können Ihre erforderliche Logik an Ort und Stelle setzen.

your.component.html

<p-dataTable #dt [value]="persons"> 
<p-column field="" header="Select" [style]="{'width':'60px', 'align-items':'center'}"> 
    <ng-template let-col let-item="rowData" pTemplate="body"> 
     <p-checkbox [disabled]="item.Id%2 == 0" 
        [style]="{'align':'center'}" 
        name="persongroup" 
        [value]="item" 
        [(ngModel)]="selectedPersons"> 
     </p-checkbox> 
    </ng-template> 
</p-column> 
<p-column field="Id" header="Id"></p-column> 
<p-column field="Name" header="Name"></p-column> 
</p-datatable> 

your.component.ts

persons : Person[] = [ 
         {'Id' : 1, 'Name' :  'person1'}, 
         {'Id' : 2, 'Name' :  'person2'} 
        ]; 
selectedPersons : Person[]=[]; 
+0

Für andere Vergessen Sie nicht, das CheckBoxModule in app.module NgModule importiert. – zulu

Verwandte Themen