我试图填充光滑的网格,它在调试时显示值,但不在网页中显示。
我已经添加了所有必需的参考。这是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列中分别填充1月,2月,3月之类的月份及其状态。
答案 0 :(得分:0)
变量太多,无法给出答案。但是,我建议您在页面加载时创建网格,并在ajax加载时仅用数据填充它,而不是每次都可能创建网格。
以我的经验,不可见的数据通常与CSS有关。
看看SlickGrid回购中的样本,它们非常全面。确保您使用的是https://github.com/6pac/SlickGrid,而不是旧的MLeibman存储库。
如果您需要帮助,最好的主意是在slickgrid存储库的示例文件夹中创建一个独立的测试页,该页可以处理本地文件(除了ajax调用之外)。 如果您可以分享这一点,我们可以轻松地重现该行为。另外,在创建示例页面时,大约有90%的时间可以解决问题。
答案 1 :(得分:0)
查看 -如果ajax调用后数据的属性与“字段”列中提供的属性匹配,反之亦然。 -如果您通过的容器是正确的。