有没有办法在Telerik MVC网格中有条件地显示命令按钮?

scu*_*kiz 4 model-view-controller command telerik button

我的网格中有一列为命令保留,如下所示:

.Columns(c =>
{
   c.Command(cmd =>
                  {
                    cmd.Edit().ButtonType(GridButtonType.Image);
                    cmd.Delete().ButtonType(GridButtonType.Image);
                  });
...
}
Run Code Online (Sandbox Code Playgroud)

有没有办法根据当前行中字段的值有条件地显示删除按钮?我想做这样的事情:

cmd.Delete().ButtonType(GridButtonType.Image)
         .HtmlAttributes((item.HasChildren == true ? new { style = "display: none"} : null));
Run Code Online (Sandbox Code Playgroud)

问题是该项目不在此范围内,因为它位于"模板"列中.

谢谢.

小智 6

最好使用Grid的OnRowDataBound客户端事件来处理这个问题.以下JavaScript应该有效:

function onRowDataBound(e) {
    if (e.dataItem.HasChildren) {
        $(e.row).find('t-grid-delete').remove();
    }
}
Run Code Online (Sandbox Code Playgroud)

e变量可用于访问任何字段(因此可以检查HasChildren是真还是假)然后你要做的就是查看特定行($(e.row))并找到元素表示删除按钮(t-grid-delete).

  • 看起来像一个类选择器,在这种情况下它应该是'.t-grid-delete' (4认同)