Axe*_*röm 1 telerik-mvc telerik-grid
我使用Telerik Extensions for MVC.在一个页面上,我使用网格来显示状态消息.我想显示具有正status_id的所有状态消息的编辑按钮.
我之前使用服务器绑定网格和CellAction完成了此操作.但是我试图将其更改为Ajax绑定网格,但我无法弄清楚如何隐藏特定行的按钮.
或许有一种方法可以从JavaScript引用特定的单元格,并以这种方式隐藏它?
谢谢!
我意识到这个问题是在不久前发布的,但我希望我的回答对其他人有用.
在您的数据模型中传递一个字段.在这种情况下,它是"RemoveDelete",因为它被明确地用于根据预定条件移除Delete按钮,所以它被设置为隐藏在网格中.如果网格中显示的数据已包含您要检查的条件,则不必执行此操作.
在网格......
.ClientEvents(events => events.OnRowDataBound("onRowDataBound"))
.Columns(columns => {
columns.Bound(c => c.ColumnName).Attributes().Etc();
columns.Bound(c => c.ColumnName).Attributes().Etc();
columns.Command(commands => {
commands.Edit().ButtonType(ButtonType);
commands.Delete().ButtonType(ButtonType);
});
columns.Bound(c => c.RemoveDelete).Hidden(true);
})
Run Code Online (Sandbox Code Playgroud)
剧本...
<script type="text/javascript">
function onRowDataBound(e) {
if (e.dataItem.RemoveDelete > 0) {
$(e.row).find('a.t-grid-delete').remove(); //remove Delete button
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
删除编辑按钮...
$(e.row).find('a.t-grid-edit').remove();
Run Code Online (Sandbox Code Playgroud)
隐藏最后一列使用
$(e.row).find('td.t-last a.t-grid-action').hide();
Run Code Online (Sandbox Code Playgroud)
尽管如此,这允许您预先确定要逐行显示的按钮.