2017-12-21 38 views
0

グリッドビューがあり、最後の列にチェックボックスがあります。私はそれを1つの選択に制限する必要があります(1つの行しか選択できません)。グリッドビューの列のチェックボックスの単一選択

<tr *ngFor="let permit of PermitDetails" (click)="GoByClick(permit)"> 
    <td style="text-align: center">{{permit.TVA_BATCH_APP_NO}}</td> 
    <td style="text-align: center">{{permit.TVA_PA_OBD_COMP_NAME}}</td> 
    <td style="text-align: center">{{permit.TVA_PA_OBD_COMP_CODE}}</td> 
    <td style="text-align: center"> 
    <input type="checkbox" [value]="permit.TA_PA_IS_CHECK" [checked]="permit.TA_PA_IS_CHECK" (change)="checkOne(permit.TVA_BATCH_APP_NO)"> 
    </td> 
</tr> 

そして、あなたのコントローラで:

<tr *ngFor="let permit of PermitDetails" (click)="GoByClick(permit)"> 
    <td style="text-align: center">{{permit.TVA_BATCH_APP_NO}}</td> 
    <td style="text-align: center">{{permit.TVA_PA_OBD_COMP_NAME}}</td> 
    <td style="text-align: center">{{permit.TVA_PA_OBD_COMP_CODE}}</td> 
    <td style="text-align: center"> 
    <input type="checkbox" [value]="permit.TA_PA_IS_CHECK" [checked]="permit.TA_PA_IS_CHECK" (click)="$event.stopPropagation()" (change)="$event.target.checked ? permit.TA_PA_IS_CHECK = true : permit.TA_PA_IS_CHECK = false"> 
    </td> 
</tr> 
+0

あなたが行を選択するたびに、 'TA_PA_IS_CHECK'プロパティを' false'に設定して前のものを選択解除してください。 – Antikhippe

答えて

0

あなたは(TVA_BATCH_APP_NOが一意の識別子として使用できることを仮定して)このような何かを行うことができます

checkOne(permitId){ 
    for(var i=0;i<this.PermitDetails.length;i++){ 
     this.PermitDetails[i].TA_PA_IS_CHECK = (permits[i].TVA_BATCH_APP_NO == permitId) 
    } 
} 
関連する問題