我有一个DataTable。
当我设置它时,我没有错误,表格是正确生成的,但每当我调整窗口大小时,我都会收到此错误:
0x800a138f - JavaScript运行时错误:无法获取属性“样式” 未定义或空引用
我认为我不能在这里重现代码,但我可以保证表结构是正确的。
这就是我用来创建DataTable的原因:
function initDataTable() {
if ($.fn.dataTable.isDataTable($('#grdPrincipal'))) {
$('#grdPrincipal').DataTable().destroy();
initDataTable();
} else {
$("#grdPrincipal")
.DataTable({
scrollY: 210,
scrollX: true,
fixedHeader: true,
fixedColumns: true,
paging: false,
info: false,
searching: false
});
}
}
由于我在我的asp.net webforms项目中使用UpdatePanel,因此每次执行回发时都必须运行此代码,因为每次都会重建表。
回发或其他任何问题都没有,正如我所说,唯一的问题是当我调整窗口大小时。
它可能是什么?
答案 0 :(得分:1)
在更新updatePanel之前尝试销毁数据表,如下所示:
var prm = Sys.WebForms.PageRequestManager.getInstance();
function BeginRequestHandler(sender, args) {
//Runs before updatePanel starts updating
$('#grdPrincipal').DataTable().destroy();
}
function EndRequestHandler(sender, args) {
initDataTable();
//Runs after updatePanel has finished updating
}
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);