【发布时间】:2019-07-30 08:24:23
【问题描述】:
如何根据某些条件禁用剑道网格中的下拉列表。
在我的代码中,当状态为拒绝时,应启用下拉列表,否则应禁用。但是当我将 DDLdisabled 设置为 true 时,它会将网格中的所有下拉列表设置为启用。
我只希望当我选中 Reject 或 Done 单选按钮时才启用或禁用相应的行下拉列表。 怎么做?
请帮帮我..
HTML 代码:
<kendo-grid-column field="Action" title="Reject" width="120">
</kendo-grid-column>
<kendo-grid-column field="SelectedRejectedReason" title="SelectedRejectedReasons" width="120" >
</kendo-grid-column>
<kendo-grid-column title="CRT Actions" width="150">
<ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
<!--{{rowIndex}}-->
<input type="radio" [name]="generate(rowIndex, 'status')" [id]="generate(rowIndex, 'done')" value="single" class="k-radio"
(change)="setSelectableSettings1($event,dataItem)">
<label class="k-radio-label lbl" [for]="generate(rowIndex, 'done')"> Done </label>
<input type="radio" [name]="generate(rowIndex, 'status')" [id]="generate(rowIndex, 'reject')" value="multiple" class="k-radio"
(change)="setSelectableSettings1($event,dataItem)">
<label class="k-radio-label" [for]="generate(rowIndex, 'reject')"> Reject </label>
</ng-template>
</kendo-grid-column>
<kendo-grid-column title="Status Comment" width="200" >
<ng-template kendoGridCellTemplate let-rowIndex="rowIndex" let-dataItem >
<kendo-dropdownlist [data]="statusCommentSource" [disabled]="DDLdisabled"
[textField]="'NewRejectionReason'"
[valueField]="'RejectionCommentId'"
(selectionChange)="setComment($event,dataItem)">
>
</kendo-dropdownlist>
</ng-template>
</kendo-grid-column>
TS 文件代码:
public setSelectableSettings1(e, dataItem): void {
this.gridActionEventData.dataItem = dataItem;
if (e.target.checked) {
if (e.target.id.indexOf("done") > -1) { dataItem.Action = 'Done'; }
else { dataItem.Action = 'Reject';
this.description = dataItem;
}
} else {
if (e.target.id.indexOf("done") > -1) { dataItem.Action = 'Reject'; }
else { dataItem.Action = 'Done'; }
};
if(dataItem.Action == "Reject" )
{
this.DDLdisabled = false;
}
else{ this.DDLdisabled = true;}
}
public setComment(e, dataItem): void
{
this.SelectedRejectedReason = e.NewRejectionReason;
dataItem.SelectedRejectedReason = e.NewRejectionReason;
alert(JSON.stringify(this.SelectedRejectedReason));
}
输出:
【问题讨论】:
标签: html angular6 kendo-grid