jQuery技术:jqGrid滚动bug与大行

Guriddo jqGrid JS的版本:4.7.0。

(function ($) { 'use strict'; $(function () { $('#jqGrid').jqGrid({ url: '../StrictRoutesRebirth/StrictRoutes/', mtype: 'GET', datatype: 'json', colModel: [{ label: 'id', name: 'id', hidden: false, key: true }, { label: 'Примечание', index: 'note', name: 'note' }, { label: 'Логин', index: 'userLogin', name: 'userLogin', hidden: true, edittype: 'text' }], scroll: 1, height: 500, width: 500, rowNum: 50, rownumbers: true, pager: '#jqGridPager', prmNames: { nd: null, search: null, page: 'page', rows: 'pageSize', sort: 'sortKey', order: 'sortOrder', totalrows: 'totalQty' }, jsonReader: { root: 'data.entries', // page: 'data.pager.page', total: 'data.pager.totalPages', records: 'data.pager.totalQty' } }); }); })(jQuery); 

当jqGrid遇到长文本字段(第四个网格以渲染具有高高度的行)时启用scroll: 1 jqGrid变得出现故障并且不起作用。 附上截屏video以显示问题。

我在之前的回答中写道,虚拟滚动的当前实现有很多限制 。 我写道,如果确实需要 ,我不建议使用jqGrid的function。

您在问题中描述的限制非常明确。 您可以检查jqGrid代码的行 ,以查看jqGrid获取第一行的outerHeight (请参阅该行 )并将其乘以行数(请参阅行和行 )。 然后使用结果计算滚动后应设置的新页面数。

因此,如果对于不同的行具有不同的高度,则绝对不能使用jqGrid的虚拟滚动function。

当前虚拟滚动的实现中存在许多其他问题。 最重要的是限制可以在Internet Explorer中显示的行数。 如果您只是在Internet Explorer中打开页面 , 您将只看到第一页数据,您将无法看到更多数据,您将看不到显示数据的建议并非数据库中存在的所有20行。 我发现问题与你描述的问题有很多关系。 因此,一旦尝试使用scroll: 1选项,通常在大量行的情况下使用,但正好在它不起作用的情况下。 有关其他信息,请参阅答案 。

如果你仔细检查jqGrid的文档,你会发现许多地方(比如这里 )jqGrid的某些function或某些方法不适用于虚拟滚动。 因此,如果您使用scroll: 1作为默认function,那么您将无法使用jqGrid的许多function。

需要了解更多jQuery教程分享jqGrid滚动bug与大行,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!

以上就是jQuery教程分享jqGrid滚动bug与大行相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/jquerytutorial/982371.html

(0)
上一篇 2021年12月13日
下一篇 2021年12月13日

精彩推荐