c# - 通过 kendogrid 中的数据条件禁用命令

标签 c# asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

如何通过给定的 bool 值禁用行上的删除按钮?

给定这个示例模型:

public class Example
{
    public bool CanDeleted {get; set;} //Delete Button only if true
    //...        
}

KendoGrid<Example> :

columns.Command(c => c.Destroy()); //I want something something like m => m.CanDeleted

最佳答案

感谢@Eldho,他向我指出了 right solution

Javascript:

function onDataBound() {
    var grid = $("#GridID").data("kendoGrid"); //Set GridID
    var gridData = grid.dataSource.view();
    for (var i = 0; i < gridData.length; i++) {
        var gridItem = gridData[i];
        if (!gridItem.CanBeDeleted) { //Condition
            grid.table.find("tr[data-uid='" + gridItem.uid + "']").find(".k-grid-delete").hide(); //Remove button
        }

        //Second Iteration, if we have grouped columns
        if (gridItem.items) {
            for (var j = 0; j < gridItem.items.length; j++) {
                var gridSubItem = gridItem.items[j];
                if (!gridSubItem.CanBeDeleted) { //Condtion
                    grid.table.find("tr[data-uid='" + gridSubItem.uid + "']").find(".k-grid-delete").hide(); //Remove button
                }
            }
        }
    }
}

KendoGrid 助手:

.Events(e => e.DataBound("onDataBound"))

看看我的other answer以获得更好的解决方案。

关于c# - 通过 kendogrid 中的数据条件禁用命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36984369/

相关文章:

javascript - 将数据源绑定(bind)到 Kendo Grid,其中某些字段可能不存在于 JSON 中

kendo-ui - 剑道图表分组/排序

javascript - 在特定表中查找所有带属性的 TD(按 ID)

c# - 动态 LINQ 过滤

c# - 通过 TCP 传输程序集

asp.net-mvc - 我如何让 ninject 2.0 与 asp.net mvc 2 一起工作?

c# - MVVM 上 ViewModel 设计中的继承

c# - 关于 XNA UnloadContent 的示例

c# - 给定用户名和密码,您如何模拟提升的用户?

asp.net-mvc - mvc 返回 Json() 与基于 JSON 的 Web 服务