为什么使用 gridview:true 以及它的含义是什么?

2024-05-11

我正在 JqGrid 上工作。

我想知道如果我们指定的话意味着什么gridview:true.

以及什么情况下我们需要提供?

我最近正在开发一个这样的 jqGrid 和我的afterInsertRow没有被调用,一旦我删除了gridview:true现在电话已经发出了。

这是我自己经历过的一个案例,我想知道是否还有其他案例我们应该知道gridview:true用来。

请指导我。


我同意gridview: true文档中没有很好地解释选项。在某些情况下(例如 TreeGrid 的情况)该选项将自动设置。所以我尝试解释它的含义以及为什么我建议始终使用gridview: true选项和从不使用afterInsertRow.

许多人从 JavaScript 等其他计算机语言开始,在掌握了某种程序编写风格后,编写了第一个在网络浏览器中运行的程序。三年前我也遇到过同样的问题。在 HTML 页面上进行一些更改后,了解 Web 浏览器必须执行的操作非常重要。在使用 jQuery 时,这是你永久要做的事情。

如果更改页面上的某些 DOM 元素,则页面上存在的所有其他 DOM 元素的位置都会更改。如果你考虑浮动模型(比如float: left)或许多其他 CSS 设置,您将了解 Web 浏览器不能仅移动现有页面的位图表示并插入新的插入元素。所以Web 浏览器必须重新计算页面上存在的所有元素的位置,并从另一个位置的元素中移动一些元素。即使您更改元素的 CSS 样式,也会发生所谓的回流。我建议你阅读文章 https://developers.google.com/speed/articles/reflow并观看有关该主题的视频。

上述案例中提高网络浏览器性能的主要思想是减少变更次数在页面上。因此,如果您需要更改一个 DOM 元素的 5 种样式,您应该在一次操作中完成此操作。您可以使用jQuery.css({...})包含所有更改的样式,而不是 5 个单独的调用。更好的方法是定义一个 CSS 类并使用jQuery.addClass method.

如果是jqGrid则需要填写<tbody>与网格的所有行和单元格。如果你使用gridview: true选项然后 jqGrid 将所有行的内容收集为带有 HTML 片段的字符串。稍后jqGrid调用jQuery.append in the line https://github.com/tonytomov/jqGrid/blob/v4.4.1/js/grid.base.js#L1424内部设置innerHTML属性来设置页面上的整个 HTML 片段。

由于同样的原因,您应该使用cellattr, rowattr or 自定义格式化程序 http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter它适用于代表单元格或行的 HTML 片段作为字符串。最后,这些字符串将被附加到其他字符串并用于jQuery.append像我上面描述的操作。

的用法afterInsertRow回调函数要求网格的每一行都会placed在调用之前的页面上afterInsertRow打回来。所以它使得不可能使用gridview: true选项并使页面运行缓慢。

确切地说,我应该提到的是,我之前描述的性能下降仅在大型网格的情况下才可见,并且在缓慢的 Web 浏览器(例如 Internet Explorer,尤其是旧版本的 IE)的情况下会非常明显。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么使用 gridview:true 以及它的含义是什么? 的相关文章

  • jQuery AJAX 请求在 IE8 中失败,并显示消息“错误:调用 open 方法之前无法调用此方法。”

    我正在使用 jQuery 1 4 2 并尝试执行一个简单的 AJAX 请求 目标 URL 返回一个 JSON 字符串 我使用 jslint 对其进行了验证 该请求在 Firefox 和 Chrome 中有效 但不想在 IE8 中工作 我无法
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • 使用输入类型 = 文件捕获照片时移动 safari 崩溃

    我正在使用输入类型文件在 iOS 中启动相机 我正在使用以下代码行
  • 使用 jQuery 捕获“删除”按键

    When using the example code from the jQuery documentation for the keypress event handler I m unable to capture the Delet
  • 如何更改jqGrid的主题?

    我正在寻找更改当前版本的 jqGrid 主题的方法 我最近开始在 ASP Net MVC 2 应用程序中使用 jqGrid 并下载一些演示解决方案 项目 我尝试通过更改主题 ui javascript 来更改网格的主题 但这对我不起作用 看
  • 如何使用 Jquery mobile 进行移动分析

    我正在寻找一个好的解决方案来为 Jquery mobile 进行移动分析 我确实检查了这个问题 Flurry Analytics 与移动平台上的 Google Analytics https stackoverflow com questi
  • DIV 内的右对齐按钮

    作为一名后端开发人员 我感觉更舒服 但我有一个样式问题困扰着我 我已经发布了我的场景示例here http jsfiddle net jDaM8 1 我正在创建一个 div 它根据单击按钮显示 隐藏以显示特定项目的详细信息 该部分工作正常
  • 未捕获错误:selectmenu 小部件实例没有此类方法“值”

    我已经安装了 1 10 版本的 jQuery 当尝试按照我一直使用 selectmenu 小部件设置值的方式设置值时 出现此错误 错误 未捕获错误 selectmenu 小部件实例没有此类方法 值 select widthOpts sele
  • jQuery 插件与小部件

    几个月前 我开始使用 jQuery 插件进行一些实验 我在互联网上找到了一些教程 然后开始整理一些东西 几天前 我需要构建自己的 插件 并回到我的旧项目 当我试图在互联网上找到更多信息时 我偶然发现了这些称为小部件的新 东西 据我了解 我应
  • 验证十进制数

    我有一个表单 我正在使用 jQuery 验证插件来验证它 现在我正在尝试验证十进制数字输入 我已经尝试过以下代码 但它不起作用 是正则表达式的问题还是我的代码中编写自定义规则的方式错误 rules paid amount required
  • jQuery Mobile:$(...).listview 不是函数

    我正在尝试在 UL 中动态插入 LI 元素后刷新 jQuery Mobile 中的列表视图 每当我尝试 myUL listview refresh 在控制台上我收到错误 未捕获的类型错误 listview 不是函数 我该如何解决这个问题 确
  • 如何使用 jQuery.validator 占位符自定义错误消息?

    我正在尝试添加自定义表单验证器 我陷入了消息定制问题 假设我想检查字段值是否不超过允许的最大值 我知道 验证插件 已经有一个 最大 验证器 这只是为了示例 validator addMethod max numeric function v
  • 如何让 jQuery 选择带有 . (句号)在他们的身份证件中?

    给定以下类和控制器操作方法 public School public Int32 ID get set publig String Name get set public Address Address get set public cla
  • 在网站的一次导航中仅显示一次弹出窗口

    我有一个使用 Laravel 创建的网站 我希望用户第一次访问我的网站时能够看到弹出窗口 我的意思是第一次 用户访问我网站上的任何页面 这是第一次 访问网站上的一些链接页面 现在 这些页面访问不是第一次 在同一选项卡中打开 facebook
  • 获取的属性名称值

    如何使用 jQuery 获取输入标记的属性名称值 请帮忙
  • 如何减少 jQuery 函数中使用的子级数量?

    我觉得我必须使用太多 children 在我的一些 jQuery 函数中 这是我的 HTML div class goal small container div class goal content div class goal row
  • 在 jQuery 中获取最接近元素的形式

    我编写了这个 js jquery 脚本来检查表单中的所有复选框 它工作得很好 但是这会检查页面上的所有复选框 无论它们是什么表单包装器 这是函数 function toggleCheck state var checkboxes jQuer
  • ajaxStart 和 ajaxStop 与 fetch API 等效

    我正在尝试将 API 调用从使用 jQuery ajax 迁移到使用 Fetch API 我使用 jQuery ajaxStart 和 ajaxStop 在服务器调用期间显示加载旋转器 我正在运行多个并行服务器请求 我希望旋转器在第一个请求
  • 通过 Javascript 填充 ReactJS HTML 表单

    我正在开发一个应用程序 在打开第 3 方网站后 我可以在浏览器上下文中运行我自己的 Javascript 作为一个基于reactjs构建并具有登录表单的示例网站 您可以参考此链接 我正在尝试在reactjs生成的表单中填写用户名和密码 但是
  • 只允许在输入字段中输入数字

    我想要打开电话号码字段这个网站 http myfrugaltech com dev savoo register 只接受数字或数字 我无权编辑 HTML 代码 那么可以使用 jQuery 通过定位字段 ID 来完成此操作吗 如果可以的话 该

随机推荐