簡體   English   中英

Kendo Grid詳細信息模板無法再次使用Ajax表單發布(MVC)加載網格(第二次)

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM