この質問は少し前に投稿されたものですが、私の回答が他の人にも役立つことを願っています。
データモデルでフィールドを渡します。この場合は「RemoveDelete」であり、あらかじめ決められた条件に基づいて削除ボタンを削除するために明示的に使用されるため、グリッドに非表示に設定されます。グリッドに表示されるデータに、調べたい条件がすでに含まれている場合は、これを行う必要はありません。
グリッド内...
.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);
})
スクリプト...
<script type="text/javascript">
function onRowDataBound(e) {
if (e.dataItem.RemoveDelete > 0) {
$(e.row).find('a.t-grid-delete').remove(); //remove Delete button
}
}
</script>
[編集]ボタンを削除するには...
$(e.row).find('a.t-grid-edit').remove();
最後の列を非表示にするには
$(e.row).find('td.t-last a.t-grid-action').hide();
以上のことをすべて踏まえると、これにより、行ごとに表示するボタンを事前に決定できます。