【问题标题】:How to express a condition in kendo grid hidden option如何在剑道网格隐藏选项中表达条件
【发布时间】:2015-10-17 15:29:02
【问题描述】:

我们正在使用 MS Identity Framework 进行基于角色的授权。在我们的应用程序中,角色实际上是访问或修改应用程序中特定选项卡的“权限”。该应用程序由一个主视图组成,其中有几个部分视图,每个部分视图代表一个选项卡。这些选项卡包含可编辑的剑道网格。

用户可以拥有访问选项卡的“仅查看”权限或“查看和编辑”权限。对选项卡具有查看和编辑权限的用户可以通过操作列查看网格并编辑其中的任何行。对给定选项卡具有“仅查看”权限的用户应该会看到该选项卡中没有“操作/命令”列的网格。

我们已经通过控制器中基于角色的身份验证来限制与网格中的命令列相关的功能。但我们也希望为对该特定网格具有“仅查看”访问权限的用户从视图中删除该列。我正在考虑使用 Hidden() 选项来实现这一点。

根据 Telerik 的说法,Kendo 网格可以选择使用 hidden("condition") 有条件地隐藏列。但是,除了使用显式布尔值之外,我找不到使用该条件的示例。

在网格中绑定命令列时(例如:

c.Command(command => { command.Edit(); command.Destroy();}).Hidden("条件")

不幸的是,在任何地方都没有条件语法的文档或示例。

【问题讨论】:

    标签: razor kendo-ui kendo-grid


    【解决方案1】:

    此选项仅接受布尔值。您能否详细说明您拥有的确切配置?

    编辑: 您可以通过简单地将 ViewData(或传递给此选项的值)转换为 bool 类型来实现:

    控制器:

    ViewData["hideColumns"] = true;
    

    网格:

    columns.Bound(p => p.OrderDescription).Hidden((bool)ViewData["hideColumns"]);
    

    【讨论】:

    • 感谢您的回复!我已编辑问题以添加更多上下文。 (顺便说一句,我们正在使用 Razor)
    • 非常感谢您的回复,瓦尔迪米尔!如果要在隐藏条件中创建更复杂的条件,我正在寻找可接受语法的一些定义。我们使用了与您类似的方法,我们在网格外部创建一个布尔值,然后直接在网格中使用它。这暂时有效。谢谢!
    • 很高兴这对您有所帮助。您可以在整个网格中使用这种方法来处理各种选项 - 只需检查选项接受的类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2014-11-14
    • 1970-01-01
    • 2016-11-03
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多