提高Dojo Grid的数据处理性能

简介:Dojo 从 1.0 开始引入了一个功能强大又健壮的控件—— Grid。程序员可以使用此控件在开发 Gui 程序时制作出漂亮的电子表格。Gui 程序最注重的一个方面就是用户体验,但是在往 Grid 中添加大 量数据的时候,程序的响应通常非常慢。本文通过一些方法来提高 Dojo Grid 的增加数据时的性能,增 强用户体验。

Dojo Grid 结构

Dojo Grid 在结构上有点类似于大家熟悉的 MVC 模式。MVC 模式是“Model-View-Controller”的缩 写,也就是“模型 - 视图 - 控制器”。

图 1.MVC 结构

一个最简单的 Grid 在结构上主要有以下几方面构成:

模型 (Model)

每个 Grid 都会包含数据,所以每个 Grid 开头都会去定义 Model。如清单 1 中的定义,Model 包含 了 dojotype(dojo 模型类),jsid(专用 id),structure(结构),Store(数据库)等。 其中比较 重要的部分是 Store,它放置了 Grid 中存储的数据。

清单 1. Grid 的定义

<div id="grid1" dojotype="dojox.grid.DataGrid" jsid="modelGrid"  rowselector="0px"
  canSort="false" structure="modelGridLayout"  Store="modelStore"></div>

视图 (View) 和结构 (Structure)

View 用来定义每个数据列,一个 View 是多个数据列的组合。通过定义 View,使 Grid 按照要求来 显示数据。 Structure 是 View 的集合,也就是说可以将多个 View 组合成一个 Structure。Structure 会被 Grid 用到,而 View 不会被 Grid 直接用到, 而是被包装成一个 Structure 来使用。清单 2 中 是一个 Grid Layout 的范例,它定义了 Grid 的结构。cells 部分定义了 Grid 列定义的信息。 每一列 需要定义 name、id、field,以及列的 html 形式如长宽高之类的。之后对 Grid 列的操作主要是针对 field 域。

清单 2. Grid Layout 的定义

ModelGridLayout = [{
  cells: [
  { name:'<div style="width:20px;height:20px;"><input type="checkbox"
  onclick="DeviceGridRevertSelectAll(this)" id="checkcollection"></div>',
  field: 'Sel', editable: true, width: '20px', cellStyles: 'text-decoration:  none;
  cursor:default; text-align: center;position: relative; left: -10px',  headerStyles:
  'text-align: center;', type: dojox.grid.cells.Bool },

  { name: 'Model',field: 'Model', width: '170px',cellStyles:'font-size:9pt;
  cursor: default;text-align: left;', cellClasses: 'defaultColumn',  headerStyles:
  'text-align: center;'},

  { name: 'Device',field: 'Device', width: '150px', cellStyles: 'font-size:  9pt;
  font-style:normal,text-decoration: none; cursor:default;text-align: left;',
  cellClasses: 'defaultColumn', headerStyles: 'text-align: center;'},
  ]
  }];

时间: 2024-09-29 01:02:57

提高Dojo Grid的数据处理性能的相关文章

分享提高ASP.NET Web应用性能的技巧_实用技巧

在这篇文章中,将介绍一些提高 ASP.NET Web 应用性能的方法和技巧.众所周知,解决性能问题是一项繁琐的工作,当出现性能问题,每个人都会归咎于编写代码的开发人员. 那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置为「true」是非常有用多,但在应用程序发布部署时,需将其设置为「false」. <compilation defaultLang

教你如何提高SQL Server 2000的性能?

以往的服务器,由于内存价格过高,一般配的内存不是很多,超过4G的当然就不多了现在的服务器,配置超过4G就很多,在配作SQL 数据库服务器后,很多的人只选默认的设置,虽然可以正常使用,可是却把大量的内存浪费了(SQL服务使用的内存不会超过1.8G),系统的性能也不能因为的大内存而提升,这是很可惜的. 下面介绍一种方法教你如何提高SQL Server 2000 的性能. 配置的过程如下.(如果服务器的内存少于4G,不用配置) 1.打开系统中的大内存支持(windows) 要启用 Windows 20

推荐8项提高 ASP.NET Web API 性能的技术_实用技巧

在本文中,我将介绍8项提高 ASP.NET Web API 性能的技术. 1) 使用最快的 JSON 序列化工具 JSON 的序列化对整个 ASP.NET Web API 的性能有着关键性的影响.在我的一个项目里,我从JSON.NET 序列化工具转到了ServiceStack.Text有一年半了. 我测量过,Web API 的性能提升了20%左右.我强烈建议你去尝试一下这个序列化工具.这里有一些最近的流行序列化工具性能的比较数据. 来源:theburningmonk 更新: 似乎It seams

使用DataChart绑定Dojo Grid与Dojo Chart来实现更新

本文将介绍一种实现此场景的方法,通过使用 DataChart 绑定 Dojo Grid 与 Dojo Chart 来实现这一需求.在文章开始前,我们先来介绍一下下文中将要使用的 Dojo 插件: DataChart(dojox.charting.DataChart)是 Chart2D 的一个扩展,它使用 Dojo Store 作为数据的存储结构.DataChart 会监听 Dojo Store 的'onSet'事件,每当 Dojo Store 中的数据发生变化时,DataChart 会http:

日本超级计算机“京”重回大数据处理性能榜首

据日本共同社7月13日报道,日本理化学研究所等13日宣布,在新出炉的超级计算机大数据处理性能排行榜上,超级计算机"京"(位于神户市)力压中国的新型机"神威太湖之光",保持了世界第一的宝座. 中国的新型机于6月首次进入运算速度榜单,以达"京"9倍的运算速度跃居世界第一.在运算速度榜单上失利的"京"在测试读取存储器数据的能力和程序综合能力的大数据处理性能领域保住了颜面. 该榜单以显示数据间关联性的"图表解析"性

一起谈.NET技术,提高ASP.NET应用程序性能的十大方法

一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果你是用动态的SQL语句来返回多个数据集,那我建议你用存储过程来替代动态的SQL语句.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,

提高ASP.NET应用程序性能的十大方法

一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果你是用动态的SQL语句来返回多个数据集,那我建议你用存储过程来替代动态的SQL语句.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,

采用AJAX提高网站程序的带宽性能详解

ajax|程序|详解|性能 介绍 作为一个做网页性能测试的公司,我们一直关注新的开发技术在提高网页程序性能方面的影响.我们有不少用户遇到仅仅是因为他们网页的大小而影响其性能的问题.简单说--页面太大了不能在有限的带宽条件下达到理想的性能.很多情况下,在不同网页间包含的基本要素是相同的.例如,页头.页尾.导航条都很少变化,在一些程序中甚至根本没有变化.这点启发我们,如果程序只更新页面中需要改变的部分,将可以节省可观的带宽. 目标 为了验证这个理论,我们决定看看是否能让程序节约至少50%的带宽.我们

采用AJAX提高网站程序的带宽性能

ajax|程序|性能 介绍 作为一个做网页性能测试的公司,我们一直关注新的开发技术在提高网页程序性能方面的影响.我们有不少用户遇到仅仅是因为他们网页的大小而影响其性能的问题.简单说--页面太大了不能在有限的带宽条件下达到理想的性能.很多情况下,在不同网页间包含的基本要素是相同的.例如,页头.页尾.导航条都很少变化,在一些程序中甚至根本没有变化.这点启发我们,如果程序只更新页面中需要改变的部分,将可以节省可观的带宽. 目标 为了验证这个理论,我们决定看看是否能让程序节约至少50%的带宽.我们选择了