根据列值控制jQuery datatable中Certificate操作链接按钮的显示隐藏
方案1:服务端渲染时直接控制(推荐)
你可以直接在Razor视图循环渲染行的时候,通过Status字段判断是否隐藏Certificate按钮,无需额外编写JS逻辑,性能更高、逻辑更直观:
找到表格tbody循环内的Certificate按钮代码,修改为如下内容:
@Html.ActionLink("Certificate", "GenerateCertificate", new { id = item.BusinessKey }, new { @class = "btn btn-warning", @style = item.Status == 1 ? "display:none" : "" })
当Status为1时,会自动给按钮添加隐藏样式,Application按钮不受任何影响。
方案2:前端DataTable回调控制
如果你不想修改服务端渲染逻辑,可以通过DataTable的createdRow行创建回调实现控制,修改你的DataTable初始化代码如下:
$('#tblBusinessData').DataTable({ "columnDefs": [{ "targets": [1], "visible": false }], "order": [ [1, "desc"] ], // 新增行创建回调 "createdRow": function (row, data, dataIndex) { // Status对应表格第5列,索引从0开始为4 if (data[4] == 1) { // 隐藏当前行第一列的第一个按钮(即Certificate按钮) $('td:eq(0) .btn:first', row).hide(); } } });
内容的提问来源于stack exchange,提问作者user4221591
相关产品推荐
相关产品推荐

