下拉列表基于Kendo网格中的某些条件禁用



如何基于某种条件在肯德哥网格中禁用下拉列表。

在拒绝状态时,在我的代码中,应启用下拉列表,否则应禁用。但是,当我设置 ddldisabled true时,它将启用网格中的所有下拉列表。

我只需要在检查拒绝或完成的广播按钮时才需要,然后仅启用或禁用该行下拉列表。如何做?

请帮助我..

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));
  }

输出:

outputscreen

//id-> which dropdown you want to disable/enable
if (your conditon) {
  $("#id").kendoDropDownList({ enable: false });
}
else{
  $("#id").kendoDropDownList({ enable: false });
}
        

最新更新