首页 > 解决方案 > 如何根据数据在特定行上的 KendoUI 网格中显示编辑按钮

问题描述

我在我的 asp.net 应用程序中使用 KendoUI 来显示网格。

我希望用户能够根据每行的状态编辑行。

网格如下所示:

@(Html.Kendo().Grid<UIMuModel>()
.Name("Grid")
.Columns(columns =>
{
        columns.Select().Width("50px");
        columns.Bound(c => c.Name).Width("120px");
        columns.Bound(c => c.State).Width("120px");
        if (Model.AllowEdit)
        {
            columns.Command(command => { command.Edit(); });
        }
})            
.Editable(editable => editable.Mode(GridEditMode.InLine))

我可以启用或禁用整个网格的编辑命令,但我不知道如何逐行执行:如果State“打开” ,则仅在此行上显示编辑按钮

标签: kendo-uikendo-gridkendo-asp.net-mvc

解决方案


我找到了解决方案:

我有一个 javascript 函数,以模型作为参数,并返回一个布尔值,以定义该行是否可以编辑:

function isLineEditable(model) {
    return model.State === "open";
}

在命令定义上,我们可以设置一个 javascript 函数来调用,设置按钮是否可见:

columns.Command(command => { command.Edit().Visible("isLineEditable"); });

推荐阅读