【问题标题】:Kendo Grid: conditionally hide command buttonKendo Grid:有条件地隐藏命令按钮
【发布时间】:2017-10-17 05:00:35
【问题描述】:

我想隐藏 RoleBase 上的 kendoGrid 列。我的系统有 6 个用户,经理、产品经理和供应商我不想显示列,而其他三个我希望列可见。 我的栏目定义:

 { command: { text: "Upload", hidden: '#if(ManagerRoleAccess== true || ProductManagerRoleAccess== true || SupplierRoleAccess== true)' } 

我不知道这出了什么问题,所有用户都隐藏了该列..有什么帮助吗?

【问题讨论】:

  • 您不能在一行中显示该列,也不能在另一行中显示。你要么展示它,要么根本不展示它。我的意思是,您不能通过每行的条件来显示或不显示。您必须在网格初始化时设置它或在某些事件中更改它,例如dataBound (check this out)。此外,hidden 参数是 boolean,因此您无法为其设置模板。当您设置了一个字符串时,它总是会评估为 true,这就是它总是隐藏的原因。
  • 我不确定 hidden 是否适用于命令,当我将 hidden: true 插入网格上的一个命令时,它什么也没做,而且我似乎在找到的配置中的任何地方都没有看到它在 Telerik 的网站上。 docs.telerik.com/kendo-ui/api/javascript/ui/… 你可能只需要一个函数来评估返回整个命令配置或不返回任何你可以实际检查他们是什么类型的用户的函数
  • 嗨 Stephen & DontVoteMeDown .. 最后我让我的程序按函数运行,但我对“隐藏”参数(如果有)中的模板感兴趣。因为根据这个dojo.telerik.com/uVAJoT kendo 支持三元运算符..

标签: javascript kendo-ui telerik kendo-grid


【解决方案1】:

您非常接近:这些命令没有hidden 字段,但它们确实有visible

{ command: [{ name: "edit", visible: function(dataItem) { return dataItem.isSuperUser }}] }

道场:http://dojo.telerik.com/ozONeSEG

但是,您的 Dojo 使用的是 Kendo 2016.3.1028,并且此参数在该版本中还不起作用。如果我没记错的话,它是在 2017.1.118 版本中引入的。

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多