[英]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.