jQuery DataTables - 重新添加行表

时间:2011-09-23 07:17:02

标签: jquery datatables

我使用jquery datatable插件并为我的数据库实例的ajax创建了一个“创建”按钮。我希望在创建数据库实例后重新加载数据表,我花了一天多的时间才找到解决方案。我能找到的最接近的东西是DataTables的插件--fnReloadAjax,但是,我无法让它工作。 我得到的错误如下:fnReloadAjax不是函数或networkerror:找不到null124234242(在firebug中)

任何想法如何重新加载表,以便用户可以在不刷新页面的情况下看到新插入的数据?

    // Initialize data table
    var myTable = $('#stocktable').dataTable({

        // Try styling
        "sScrollX": "100%",
        "sScrollXInner": "100%",
        "bScrollCollapse": true,

        // To use themeroller theme
        "bJQueryUI": true,
        // To use TableTool plugin
        "sDom": 'T<"clear">lfrtip',
        // Allow single row to be selected
        "oTableTools": {
            "sRowSelect": "single"
        }
        // Use dataTable editable plugin to allow ajax delete
    }).makeEditable({
        // Reference to controller action
        //sAddURL: "/Stock/AddData",
        sDeleteURL: "/Stock/DeleteData",
        sDeleteHttpMethod: "GET"
    });

当我尝试调用myTable.fnReloadAjax()时,我收到错误.. 真的需要帮助...... 感谢...

1 个答案:

答案 0 :(得分:1)

您正在客户端模式中使用datatable;因此,所有行都已经在TBODY中。 fnReloadAjax仅在您处于服务器端处理模式时才有效。

当makeEditable插件向服务器页面发布请求时,它会自动在表格的TBODY中添加行,因此您无需刷新表格 - 它已经存在。如果您没有看到它可能会放在其他页面上,因为添加行时会根据当前的排序标准进行定位。

如果你真的想要刷新表格,那么你可以做的就是刷新整个页面,但是新的行仍然会显示在其他页面上,直到找到放置它的确切页面才会看到它。

约万