[英]Kendo Grid , Show different template in detail grid based on condition
[英]Kendo Grid detail template is not working on loading grid again(second time) using ajax form post(MVC)
以下是用於創建劍道網格的函數,其中針對列選項以及數據源和詳細信息模板調用了不同的函數
var kendoDataSource = currentOtherMerchant.model.dataSource();
var columnsOptions = currentOtherMerchant.columnOptions();
currentOtherMerchant.$el.kendoGrid({
dataSource: kendoDataSource,
columns: columnsOptions,
dataBound: currentOtherMerchant.onDataBound,
pageable: {
refresh: true
},
detailTemplate: '<div class="tabstrip"><ul><li class="k-state-active" id="first">' + currentOtherMerchant.options.prompts.details + '</li></ul><div class="merchant-details"></div></div>',
detailInit: currentOtherMerchant.detailInit,
detailExpand: currentOtherMerchant.detailExpand,
resizable: true,
scrollable: true
});
以下是詳細信息模板的功能
detailInit: function (e) {
currentOtherMerchant.detailTab(e);
currentOtherMerchant.animateTabStrip(e.detailRow);
},
detailExpand: function (e) {
var grid = currentOtherMerchant.$el.data("kendoGrid");
grid.collapseRow(grid.tbody.find(' > tr.k-master-row').not(e.masterRow));
debugger;
},
/* Fetch details for expanded Pspid */
detailTab: function (e) {
var detailRow = e.detailRow;
var ajaxData = { "PSPId": e.data.PSPId,
"HashedParam": e.data.HashedParam
};
var ajaxParameters = { "ajaxData": ajaxData, "ajaxURL": currentOtherMerchant.model.attributes.urls.detailTemplateUrl, dataType: 'html' };
grid_ajaxCall(ajaxParameters, function (data) {
if (data != null) {
currentOtherMerchant.genarateDetailTemplateId(detailRow, e);
detailRow.find(".merchant-details").html(data);
}
});
},
請幫助解決此問題。 先感謝您
我得到了解決方案,這是有問題的,因為劍道網格沒有在ajax表單發布中從dom中銷毀,所以我在創建網格之前使用了kendo網格銷毀方法,因此網格的所有對象和事件都被銷毀了
if (current.$el.find('#gridId').data().kendoGrid != undefined)
current.$el.find('#gridid').data().kendoGrid.destroy();
將劍道網格元素設為空
current.$el.find('#girdid').empty();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.