You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅在Kendo Grid特定行中显示操作列按钮?

实现Kendo Grid特定行显示操作按钮的方案

当然支持啦!Kendo Grid提供了非常灵活的配置方式来实现仅在特定行显示操作按钮的需求,下面给你两种常用且易上手的方案:

方案一:在模板中嵌入条件判断

你可以利用Kendo的模板语法,在按钮的模板代码里加入条件判断,只有当当前行数据满足指定条件时,才渲染对应的按钮。

修改后的代码示例:

command: [
  { 
    title: "Accept", 
    template: "# if (data.Status === 'Pending') { # <button title='Accept' class='btn btn-success btn-flat' onclick='AcceptClick(this)'><span class='fa fa-check'></span></button> # } #" 
  }, 
  { 
    title: "Reject", 
    template: "# if (data.Status === 'Pending') { # <button title='Reject' class='btn btn-danger btn-flat' onclick='RejectClick(this)'><span class='glyphicon glyphicon-remove'></span></button> # } #" 
  }
], 
title: "Action", 
width: "160px"

这里的data代表当前行的数据模型,你可以把data.Status === 'Pending'替换成你实际需要的判断逻辑(比如检查某字段是否为特定值、是否满足某个状态等),只有条件成立时才会渲染按钮。

方案二:使用command的visible配置函数

Kendo Grid的command项支持visible属性,你可以传入一个函数,该函数接收当前行的数据项作为参数,返回true或false来控制按钮是否显示。

修改后的代码示例:

command: [
  { 
    title: "Accept", 
    template: "<button title='Accept' class='btn btn-success btn-flat' onclick='AcceptClick(this)'><span class='fa fa-check'></span></button>",
    visible: function(dataItem) {
      // 根据实际需求编写判断逻辑,示例:仅当状态为Pending时显示
      return dataItem.Status === 'Pending';
    }
  }, 
  { 
    title: "Reject", 
    template: "<button title='Reject' class='btn btn-danger btn-flat' onclick='RejectClick(this)'><span class='glyphicon glyphicon-remove'></span></button>",
    visible: function(dataItem) {
      // 可以给不同按钮设置不同的判断条件
      return dataItem.Status === 'Pending' && dataItem.CanReject;
    }
  }
], 
title: "Action", 
width: "160px"

这种方式的优势是逻辑和模板分离,代码更清晰,而且可以给不同的按钮设置独立的显示条件,灵活性更高。

小提示

如果需要对整个“Action”列的显示/隐藏做控制,也可以在列配置里添加visible函数,但针对单个按钮的显示控制,上面两种方案是最直接的。

内容的提问来源于stack exchange,提问作者chaitanya mokkapati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:35:46