Javascript SlickGrid未正确渲染列

Javascript SlickGrid未正确渲染列,javascript,slickgrid,Javascript,Slickgrid,我最近开始在我的一个项目中使用SlickGrid。在我的网格中,我有大约4000行和6列。问题是前两行的第2列到第6列没有呈现。对于其余的行,所有列都呈现得很好。此外,如果我再次向下和向上滚动,这些行缺少的列将变得可见。换句话说,我只在第一次生成页面时才看到问题 翻阅源代码,我发现以下几行代码导致了这个问题。如果我对中断进行注释,则整个网格渲染时不会出现任何问题 1407 // Do not render cells outside of the viewport. 1408

我最近开始在我的一个项目中使用SlickGrid。在我的网格中,我有大约4000行和6列。问题是前两行的第2列到第6列没有呈现。对于其余的行,所有列都呈现得很好。此外,如果我再次向下和向上滚动,这些行缺少的列将变得可见。换句话说,我只在第一次生成页面时才看到问题

翻阅源代码,我发现以下几行代码导致了这个问题。如果我对中断进行注释,则整个网格渲染时不会出现任何问题

1407     // Do not render cells outside of the viewport.
1408      if (columnPosRight[Math.min(ii - 1, i + colspan - 1)] > range.leftPx) {
1409        if (columnPosLeft[i] > range.rightPx) {
1410          // All columns to the right are outside the range.
1411          break;
1412        }
这些线似乎试图跳过视口外柱的渲染。但是,我不明白为什么他们认为我的前两行中的第2-6列在视口之外(当它们明显位于视口内部时)


不幸的是,我无法在一个小例子中重现这个问题。所以我希望有人能从症状描述中发现问题。请提供帮助。

可能是您正在渲染的值中有一些特殊字符(即等),您可以使用自定义格式设置程序转义这些字符:

function escapeHTMLFormatter(row, cell, value, columnDef, dataContext) {
    if (value == null) {
       return "";
    } else {
       return (value + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
    }
 }
函数escapeHTMLFormatter(行、单元格、值、列定义、数据上下文){
如果(值==null){
返回“”;
}否则{
返回(值+“”)。替换(//&/g,“&;”)。替换(//g,”);
}
}

问题可能在于您的代码,因此最好查看一些代码而不是SlickGrid源代码…SlickGrid(通常为任何网格)始终渲染视口中的列以提高性能…请上载一些代码示例。初始化时可能存在一些维度问题,或者加载时可能正在滚动网格。。