我一直在尝试将 SlickGrid Dataview 与 Json 一起使用,但没有成功。我不断收到上述错误。 “JavaScript 运行时错误:SlickGrid 需要有效的容器,#myGrid 在 DOM 中不存在。”
<div id="myGrid" style="width:100%;height:500px;"></div>
这是加载 json
的脚本文件:
var dataView = new Slick.Data.DataView();
var grid = new Slick.Grid("#myGrid", dataView, columns, options);
//sample data
var columns = [{
id: "CodeID",
name: "CodeID",
field: "CodeID",
width: 50
},
{
id: "Name",
name: "Name",
field: "Name",
width: 200
},
width: 100
}
];
var options = {
enableColumnReorder: false,
multiColumnSort: true
};
// wire up model events to drive the grid
dataView.onRowCountChanged.subscribe(function(e, args) {
grid.updateRowCount();
grid.render();
});
dataView.onRowsChanged.subscribe(function(e, args) {
grid.invalidateRows(args.rows);
grid.render();
});
$.getJSON(my_url, function(data) {
dataView.beginUpdate();
dataView.setItems(data);
dataView.endUpdate();
});
<小时/>
如果我不使用 dataview 并迭代 json 数据并将其传递到网格,一切正常,但是当我使用 dataview 时,即使我有一个 Id="myGrid"的 div,我也会收到上面的错误。
如果有任何帮助,我将不胜感激。
谢谢
最佳答案
就我而言,我使用的是 SlickGrid.js 和 grid.js 文件。所以它运行了容器两次。因此删除 grid.js 解决了问题。还要确保在运行 new Slick.Grid() 之前文档已准备就绪
关于javascript - SlickGrid 需要一个有效的容器,#myGrid 在 DOM 中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29869499/