rows.add调用列的渲染,也进行绘制,但看不到变化

时间:2019-07-02 11:25:01

标签: javascript datatables

添加列后重绘表格不起作用。对于一个特定的列,我有一个render方法,在其中检查特定的属性。如果属性为true,则呈现一个选定的复选框,否则呈现一个非选定的复选框。 如果添加一行,另一行的属性可能会更改。 因此,我做到了:在不调用draw()的情况下添加行,但调用了render方法,但数据错误。更改数据并调用draw()-> render方法使用正确的数据调用,但完全无效。 它唯一有效的方法是调用invalidate:(

{
            className: "wd_cb_comflag noselect",
            data: null,
            render: function (data, type, row) {                    
                var checked = data.comflag ? "checked" : "";
                return '<input type="checkbox" ' + checked + '/>';                    
            },
            width: "30px"
        }

tblCategorizationNew.rows.add([categorization]);

//->为什么现在使用旧数据调用render方法?

//立即更改数据并致电抽奖

tblCategorizationNew.rows().draw();
使用正确的数据再次调用

// render方法,但没有效果

tblCategorizationNew.rows().invalidate().draw();

//有效但是一点也不漂亮

0 个答案:

没有答案