[英]how to clear data from grid datatable plugin jquery?
我们使用如下的datatable插件来绑定数据并显示在网格中。 下面是代码:
productJs = {
apiBaseUrl: "/api/Admin/GetProductsPurchasedOrInCart",
dataTableID: "#products_Grid",
ready: function () {
alert('yyyy');
},
jqueryDatatableSetting: {
"aaSorting": [],
"aoColumns": [
{ "mDataProp": "ProductName" },
{ "mDataProp": "Quantity" },
{ "mDataProp": "unitPrice" }
]
},
jqueryDatatable: null,
bindJqueryControls: function (e) {
},
loadProducts: function (oderNo) {
//alert(oderNo);
var apiUrl = this.apiBaseUrl + '?IsPurchased=Y&OrderNo=' + oderNo;
$.ajax({
url: apiUrl,
type: "GET",
complete: function (resp) {
if (resp.status == 200 || resp.status == 201) {
$('#products_Grid > tbody').html('');
productJs.bindDatatable(resp.responseJSON);
} else if (resp.status == 404 || resp.status == 400) {
}
},
error: function () {
}
});
}
, bindDatatable: function (records) {
if ($("#products_Grid_wrapper").length == 0) {
//it doesn't exist
this.productdataTableID = $(this.dataTableID).dataTable(this.jqueryDatatableSetting);
} else {
var table = $(this.dataTableID).DataTable();
table.clear().draw();
}
if (records.length)
this.productdataTableID.fnAddData(records);
}
}
让我解释发生了什么:我有一个与上面\\相同的网格绑定t \\,即orderJs。 当用户单击“订单网格”中的“详细信息”按钮时,我们希望显示订单详细信息。 订单网格还使用数据表,因为我正在绑定产品的数据。
现在我做了什么:我已经根据“产品”网格中的“订单号”完成了对数据的绑定,它第一次运行良好。 表示当我单击“订单详细信息”时,它将打开包含正确产品的弹出窗口。 现在我关闭了弹出窗口。 现在单击任何其他订单的“详细信息”按钮,现在弹出时将其打开,以获取旧订单产品+新订单产品。
我想在重新绑定之前清除产品网格。
我已经尝试了几件事,但没有运气,能不能请各位专家,请检查我做错了。
大家好,我得到了答案..哇..
我刚刚通过添加“ fnClearTable”功能更新了我的以下方法
bindDatatable: function (records) {
if ($("#products_Grid_wrapper").length == 0) {
//it doesn't exist
this.jqueryproductDatatable = $(this.dataTableID).dataTable(this.jqueryDatatableSetting);
} else {
this.jqueryproductDatatable.fnClearTable();
}
if (records.length) {
this.jqueryproductDatatable.fnAddData(records);
}
}
谢谢大家的支持... :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.