Kendo UI Grid-根据布尔属性禁用了自定义命令按钮

时间:2018-07-18 20:42:26

标签: javascript kendo-ui kendo-grid

如何根据属性的布尔值将Kendo网格上的自定义命令的类设置为禁用?

我想使用这种方法来禁用按钮: https://answers.acrobatusers.com/Extra-space-characters-converting-justified-Word-document-PDF-q22535.aspx

Javascript:

{ command: { name: "custom", text: "Exclude", click: excludeCategorization }, title: " ", width: "60px" }

我想使用属性IsEnabled添加这样的条件,但如果可能,可以使用k-state-disabled

#= IsEnabled ? disabled="disabled" : "" # 

1 个答案:

答案 0 :(得分:1)

我不相信您可以通过模板有条件地分配类,但是您可以使用dataBound事件来爬行行并操纵类。我将从禁用所有选项开始,然后启用需要激活的选项,但是您可以构建自己的逻辑。这是一个示例:

<div id="grid"></div>
<script>
  var grid;
  $("#grid").kendoGrid({
    dataBound:function(e){
      var grid = $("#grid").data("kendoGrid");
      var items = e.sender.items();
      items.each(function (index) {
        var dataItem = grid.dataItem(this);
        $("tr[data-uid='" + dataItem.uid + "']").find(".excludeCategorization").each(function( index ) {
          if(dataItem.isEnabled)
             {
                $(this).removeClass('k-state-disabled')   
             }
        });
      })
    },
    columns: [
      { field: "name" },
      { field: "enabled" },
      { command: [{ className: "k-state-disabled excludeCategorization", name: "destroy", text: "Remove" },{ className: "k-state-disabled", name: "edit", text: "Edit" }] }
    ],
    editable: true,
    dataSource: [ { name: "Jane Doe", isEnabled: false },{ name: "John Smith", isEnabled: true } ]
  });
</script>

以下是指向Dojo的链接:https://dojo.telerik.com/ubuneWOB