我的例子:https://jsfiddle.net/djL5ad7m/
我的示例显示了一个基本的SlickGrid示例。 我正在创建网格:
var grid = new Slick.Grid("#myGrid", data, columns, options);
我想通过 jQuery 得到这个元素 - 所以我可以调用一个外部函数并获得我上面的代码保存到“var grid”中的相同Grid变量
我试图将其设为$('#myGrid').data('Slickgrid')
,但这不起作用。
(Kendo UI Grid完美地说明了这一点 - see my example with it here并在下面找到代码)
/***** getGridExternalFunction *****/
function getGridExternal(){
var grid = $('#grid').data('kendoGrid');
console.log('grid', grid);
}
答案 0 :(得分:1)
SlickGrid并没有像这样将自己附加到HTML上,虽然我已经将其视为一些javascript客户端控件中的标准模式。
也就是说,使用jQuery自己设置它很容易:
var grid = new Slick.Grid("#myGrid", data, columns, options);
$('#myGrid').data('SlickGrid', grid);
您可以在代码中的其他位置检索它,如您所示:
var grid = $('#myGrid').data('SlickGrid');
虽然有关于您的错误消息的警告:但#34;无法读取属性'数据' of null"意味着$('#myGrid')
返回null,如果DOM元素myGrid存在则不应该返回null。不知道那里发生了什么。
答案 1 :(得分:0)
获取表正文数据:
$('#myGrid').find('.slick-viewport')
获取HTML正文数据:
$('#myGrid').find('.slick-viewport')[0].innerHTML
要获取标题数据,请在选择器中使用.slick-header
。