【问题标题】:DropdownList disabled based on some condition in kendo grid基于剑道网格中的某些条件禁用下拉列表
【发布时间】: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));
  }

输出:

OutputScreen

【问题讨论】:

    标签: html angular6 kendo-grid


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多