滑动网格值未填充在网格中

问题描述 投票:0回答:2

我正在尝试填充光滑的网格,它在调试时显示值但未在网页中显示。

我添加了所有必需的参考资料。这是js函数。

function LoadMonthStatus(dropdownYear, buttonId) {
 try {
    $(".screen").css({ opacity: 0.5 });
    $(".slick-cell").css({ opacity: 0.5 });

    dirtyFlag = false;
    var drpYear = document.getElementById(dropdownYear);
    year = drpYear.options[drpYear.selectedIndex].value;
    data = [];
    var dropdownoptions = ""; // "hard,soft,closed";
    var columns = {};
    var options = { 
        editable: true,
        enableCellNavigation: true,
        asyncEditorLoading: false,
        autoEdit: true,
        autoHeight: true
    };

    columns = [
        { id: "month", name: "Month", field: "Month", width: 250 },
        { id: "status", name: "Close Status", field: "Status", options: columnOptions, editor: Slick.Editors.Select, width: 150 }
    ];
    $.ajax({
        type: "GET",
        url: "http://localhost:51072/PULSE.Service/api/MonthCloseStatus/LoadMonths",
        data: { year: $("#drpYear").val() },
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            data = msg;
            monthStatusGrid = new Slick.Grid("#slkgrdMonths", data, columns, options);
            //grid.setSelectionModel(new Slick.CellSelectionModel());
            monthStatusGrid.onCellChange.subscribe(function (e, args) {
                var cell = monthStatusGrid.getCellNode(args.row, args.cell);
                cell.className += cell.className ? ' slick-cell-modified' : 'slick-cell-modified';
                dirtyFlag = true;
            });
            if (msg == null || msg == "")
                document.getElementById(buttonId).disabled = true;
            else
                document.getElementById(buttonId).disabled = false;
            //Enable the button

            $(".screen").css({ opacity: 1 });
            $(".slick-cell").css({ opacity: 1 });

        },
        error: function (xhr, textStatus, errorThrown) {
            try {
                var err = JSON.parse(xhr.responseText);
                jAlert(err.Message, 'PULSE');
            }
            catch (e) {
                jAlert(clientErrMessage, 'PULSE');
            }
            $(".screen").css({ opacity: 1 });
            $(".slick-cell").css({ opacity: 1 });

        }
    });
  }
  catch (e) {
    jAlert(clientErrMessage, 'PULSE');
  }
}

光滑的网格应该填充数月,如2月,2月,3月,其状态分别为2列。

slickgrid slick.js
2个回答
0
投票

变量太多无法给出答案。但是我建议你在页面加载时创建网格,然后用ajax加载的数据填充它,而不是每次都创建网格。 根据我的经验,不可见的数据通常与CSS相关。

看一下SlickGrid仓库中的样本,它们非常全面。确保你使用https://github.com/6pac/SlickGrid而不是旧的MLeibman回购。

如果您需要帮助,最好的想法是在slickgrid repo的示例文件夹中创建一个独立的测试页面,该页面可以使用本地文件(除了ajax调用)。如果您可以分享,我们可以轻松地重现行为。作为奖励,大约90%的时间您将在创建示例页面时解决问题。


0
投票

检查以查看-jax调用与列Field中提供的属性匹配后的数据属性,反之亦然。 - 如果你传递的容器是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.