在 jquery DataTables 中跳过一行的渲染

2023-12-02

如果在初始化期间满足条件,我想跳过行渲染,但我不知道到底将其放置在哪里。

我应该把它放进去吗fnCreatedRow or fnPreDrawCallback?
我怎样才能做到这一点?

这是我的代码:

 var users_tbl =$('#users_tbl');
    users_tbl.DataTable({
        "deferRender": true,
        "autoWidth": false,
        //for reinitialisation purpose
        destroy: true,
        "aLengthMenu": [[20, 40, 50, 100, -1], [20, 40, 50, 100, "All"]],
        "order": [[ 0, "DESC" ]],
        "ajax" : {
                url :  Main.Vars.host + "settings/get_users",
                type : "GET",
            },
            "aoColumnDefs": [

                    { "sWidth": "5%", "aTargets": [ 0 ] },
                    { "sWidth": "20%", "aTargets": [ 1 ] },
                    { "sWidth": "25%", "aTargets": [ 2 ] },
                    { "sWidth": "15%", "aTargets": [ 3 ] },
                    { "sWidth": "5%", "aTargets": [ 4 ] },
            ],
           "fnCreatedRow"  : function( nRow, aData, iDataIndex ){
                $(nRow).addClass('item-context');   

               return false;
            },
            "fnPreDrawCallback": function( oSettings ) {
                console.log(oSettings);
            },
            "columns": [
                { 
                    "data": "id",
                },
                { 
                    "data": "username",
                },  
                {
                   "render": function(data,type,row,meta) {
                        var owner = row.pnp_info.first_name + " " + row.pnp_info.last_name;
                        return owner;
                   }  
                },
                {
                    "data": "created_on",   

                },
                {
                   "render": function(data,type,row,meta) {
                        return row.active == 1 ? "YES" : "NO";
                   }  
                },

            ],

            sPaginationType: "full_numbers",
    });

For fnCreatedRow为时已晚fnPreDrawCallback您最终只是取消了表格的渲染。你有两种不同的方式:

1) 清理 JSON 中的ajax.dataSrc打回来 :

var table = $('#example').DataTable( {
    ajax : {
        url : 'test.json',
        dataSrc: function(json) {
            var rows = [];
            for (var i=0;i<json.data.length;i++) {
                //skip rows "if a condition is met"
                //here just any rows except row #1
                if (i>0) rows.push(json.data[i]);
            }
            return rows;
        }
    }
    ....
})    

2) 清理 JSONxhr事件 :

table.on('xhr.dt', function (e, settings, json, xhr) {
    //manipulate the json directly, no return needed
    //delete row #1, same as above
    json.data.splice(0,1);
});

这两个示例都假设您在(简化的)表单上拥有格式良好的 JSON

{
 "data": [
     {
       "id": "2423",
       "username" : "joe"
     },
     {
       "id": "4321",
       "username" : "gordon"
     }
  ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 jquery DataTables 中跳过一行的渲染 的相关文章

随机推荐

  • jQuery MultiSelect dropdownlist 如何访问结果?

    如何从按 mvc3 razor 调用的 JQUery 多选下拉列表中获取结果 http abeautifulsite net blog 2008 04 jquery multiselect 多选插件使用 符号将选定的值发送到服务器 一如既往
  • 如何在 C# 中加载程序图标

    我有某个程序的路径 例如explorer 如何获取程序图标 将其转换为png jpeg 然后显示在PictureBox中 我有这样的事情 string filePath C myfile exe Icon TheIcon IconFromF
  • SQL转置数据

    我有一个名为 Forecast 的表 如下所示 Product BK 有大约 80 000 条记录 而 Month 有 12 条记录 States 保持不变 为 5 条 如何编写查询将数据转置为如下所示 这是在 SQL 服务器上 并且不喜欢
  • 数组除法 - 将数组中存储的两个数字相除的最佳方法是什么?

    我有两个数组 被除数 除数 dividend 1 2 0 9 8 7 5 6 6 divisor 9 8 我需要的结果 股息 除数 为 quotient 1 2 3 4 5 6 7 我使用数组减法做到了这一点 从被除数中减去除数 直到被除数
  • C# WebClient - DownloadString 编码错误

    我正在尝试从 Amazon 下载 html 文档 但由于某种原因 我得到了一个错误的编码字符串 例如 K g g e 这是我尝试过的代码 using var webClient new System Net WebClient var ur
  • 如何重塑和交错矩阵元素?

    有了时间序列的值 我想将其重塑为 nx4 矩阵 X y 以便使用这些值作为机器学习算法的输入和输出值 X i 是 1x3 输入向量 y 是输出标量值 该算法将每个第二个序列值 3 个值 作为输入 以便预测第四个值 举一个实际的例子 假设我们
  • 如何在 vscode 中查看全角代码

    我想在 VS Code 中编码时使用完整视口 但是当我展开 VS Code 窗口时 这些行并没有扩展 有修复吗 使用的正确配置 为了配置 V S 代码使得代码行在 你的编辑器只会在视口的末尾换行 并且 以前从未如此 您需要将正确的值分配给
  • 如何在使用 playwright-python 运行代码结束时保持浏览器打开?

    我想使用 playwright python 自动填写一些表格 然后在提交之前仔细检查填写内容 但它总是在代码运行结束时关闭浏览器 即使我使用了handleSIGHUP False handleSIGINT False handleSIGT
  • Espresso 测试被后台线程阻止。应用程序不空闲异常:“AppNotIdleException。”

    我的 android espresso 单元测试由于某些后台线程不空闲而被阻止 我如何找出哪个线程正在阻止我的应用程序执行 android support test espresso AppNotIdleException Looped f
  • 可以从现有的 java/scala 接口和数据类型生成 .thrift 文件吗?

    有没有一种简单的方法可以采用现有的 Java scala 数据类型和 API 接口并生成相应的 thrift 文件 让 Thrift 生成server数据结构具有过度侵入性 因为它会产生以下后果 我无法注释我的数据结构 例如 XML JSO
  • 如何仅在另一个元素内部时选择一个元素?

    我有一个关于 CSS 选择器的问题 我如何选择一个 div 仅当其位于 ul 有类名saft 这个 CSS 类在其他地方使用 我不想到处改变样式 div ul class saft li div class textSlide div li
  • 使用量角器 js 剪贴板中的文本

    如何使用量角器复制特定文本 我想使用此命令加载要粘贴的文本 return browser actions sendKeys Keys CONTROL v perform Sample 加载我的文本 test 然后使用此命令粘贴 test 我
  • 如何测量 Stackdriver 上的 Firestore 读写计数

    我需要监控 Firestore 数据库的实时读 写计数 我已经使用指标创建了仪表板 所附图像显示了当前配置 但是 这会显示速率 每秒 如何计算实际计数 或者是否有不同的聚合对齐器 如果您想将 计数 添加到现有图表中 请按照以下步骤操作 在仪
  • 如何使移动键盘外观与 div 发生碰撞而不是绝对将其自身定位在其上方?

    我正在开发一个简单的聊天组件 但遇到一个问题 在移动设备上 如果我单击文本框发送消息 而不是弹出其上方的消息列表 虚拟键盘会将自己绝对定位在它 这是不可取的 因为我希望用户在键入消息时能够看到最新消息 但是 我不知道如何纠正这种行为 而且我
  • 打算播放 YouTube 播放列表 [重复]

    这个问题在这里已经有答案了 我想从我的应用程序启动 YouTube 播放列表 对于单个视频来说这是显而易见的 startActivity new Intent Intent ACTION VIEW Uri parse http www yo
  • 从 SQL 到 MS Access 查询数据:本地表与传递表

    我创建了一个应用程序 它使用以下逻辑将数据从 SQL 查询到我的 MS Access 应用程序 我使用 ODBC 连接执行存储过程 使用此指定为传递查询以在本地提取数据 它看起来像这样 strSQL EXEC StoredProcedure
  • ImageIcon 不会更新具有相同 URL 的新图像

    我想使用 JLabel Icon 来显示来自我网站的图像 http xxx xxx xxx xxx java pic test jpg 我有一个刷新按钮来新建一个新的 JLabel 和 ImageIcon 为了获取最新的图像 程序运行成功
  • matplotlib 中的 Pandas 自动日期时间格式

    我经常在一个图中绘制来自不同来源的多个时间序列数据 其中一些需要使用 matplotlib 格式化 x 轴时 我使用 matplotlibautofmt xdate 但我更喜欢 pandas 的自动格式化 我知道我可以使用手动设置格式set
  • BeautifulSoup 不同的解析器

    任何人都可以详细说明 html parser 和 html5lib 等解析器之间的区别吗 我偶然发现了一个奇怪的行为 当使用 html parser 时 它会忽略特定位置的所有标签 看看这段代码 from bs4 import Beauti
  • 在 jquery DataTables 中跳过一行的渲染

    如果在初始化期间满足条件 我想跳过行渲染 但我不知道到底将其放置在哪里 我应该把它放进去吗fnCreatedRow or fnPreDrawCallback 我怎样才能做到这一点 这是我的代码 var users tbl users tbl