【问题标题】:adding a html row in jquery datatable在 jquery 数据表中添加一个 html 行
【发布时间】:2015-02-22 16:27:46
【问题描述】:
function createNotificTable(callback) {

var tbl = $("#gridNotificInbox tbody");
var empid = $("#hdnempidmaster").val(); //logged in employee
var maxid = 0;
if (parseInt($('#gridNotificInbox tbody tr').length) > 0) {
    maxid = Math.max.apply(Math, $("#gridNotificInbox tbody tr td:first-child").map(function () {
        return $(this).text();
    }));
}
alert(maxid);

$.ajax({
    type: "POST",
    url: "notification.aspx/ReturnTableRow",
    data: JSON.stringify({ maxidfetched: maxid, empid: empid }),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    beforeSend: function () {

    },
    success: function (response) {
        if (response.d.trim() != "") {
            tbl.prepend(response.d);

            //want to call datatable initialization or restyle here//
        }
        callback();
    },
    failure: function (response) {
        //alert(response.d);
    }

});

}

这个函数正在调用asp.net中的一个webmethod。webmethod返回一个表行结构为 “

....

initializeDatatable-是初始化数据表的函数。

function initializeDatatable() {
try {
    datatbl= $("#gridNotificInbox").dataTable({
    ordering: false
    });

} catch (ex) {
alert(ex);
}
}

现在在“gridNotificInbox”的表 tbody 中添加行之后如何在数据表中反映它?我可以进行第一次初始化,但在添加行之后? 如果我在数据表的第二页,我希望新行将添加到第一页,因为它是前置的,而不是附加的,但我想像 gmail 一样留在第二页。 这段代码不使用数据表工作。但我想要分页和搜索功能,这就是我使用数据表的原因。

【问题讨论】:

  • 您是否尝试将 fnDraw 回调更改为 false?

标签: jquery asp.net datatable


【解决方案1】:
function initializeDatatable() {
try {
    datatbl= $("#gridNotificInbox").dataTable({
    ordering: false,
    draw : false,
    });

} catch (ex) {
alert(ex);
}

试试这个。表格不会自动重绘,会停留在您所在的页面,甚至是排序和排序。

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    相关资源
    最近更新 更多