WEB开发网
开发学院软件开发Java 使用 DOJO 开发定制小部件,第 2 部分: 使用通用的... 阅读

使用 DOJO 开发定制小部件,第 2 部分: 使用通用的网格处理程序生成 DOJO DataGrid 组件

 2010-05-18 00:00:00 来源:WEB开发网   
核心提示: 一旦成功加载 JSON 文件后,createGrid 方法就调用 _gridHeadersURLDef 方法,使用 DOJO 开发定制小部件,第 2 部分: 使用通用的网格处理程序生成 DOJO DataGrid 组件(3), _gridHeadersURLDef 方法从 JSON 文件中读取布

一旦成功加载 JSON 文件后,createGrid 方法就调用 _gridHeadersURLDef 方法。 _gridHeadersURLDef 方法从 JSON 文件中读取布局信息。它还会检查布局中的每一列是否有 formatter 属性。如果有,就将相应的 formatter 方法应用到正确的范围内。

然后,_gridHeadersURLDef() 方法将调用 drawDataGrid() 方法。

清单 2. _gridHeadersURLDef( ) 方法。

清单 2. _gridHeadersURLDef( ) 方法

_gridHeadersURLDef: function(response,gridDisplayDivId, onCellClickMethodName){ 
 this.gridSearchResultDef=eval(response).layout; 
 
 for(var i=0; i<this.gridSearchResultDef.length;i++){ 
  
  rowheaders = this.gridSearchResultDef[i]; 
  for(var j=0; j<rowheaders.length;j++) 
  { 
  var callback=rowheaders[j].formatter; 
  if(callback){ 
 rowheaders[j].formatter=dojo.hitch(this.thisVar,callback); 
   console.debug(callback); 
  } 
  var 
  displayName=this.iwidget_messages[rowheaders[j].name]; 
   
  rowheaders[j].name=displayName; 
  } 
 } 
 
 this._drawDataGrid(this.gridSearchResultDef, gridDisplayDivId, 
  onCellClickMethodName); 
 
} 

drawDataGrid 方法实例化 DataGrid 小部件并调用 DataGrid 的启动方法。清单 3 中的代码片段生成 DataGrid 小部件,并将 columnReordering、 clientSort 和 autoHeight 设置为 true。网格数据来自于定制数据存储 DojoItemFileWriteStore。DojoItemFileWriteStore 存储覆盖了 ItemFileWriteStore 中的 _getItemsFromLoadedData() 方法,以读取显示分页信息所需的属性(totalRecords、startRecordIndex 和 endRecordIndex)。

上一页  1 2 3 4 5 6  下一页

Tags:使用 DOJO 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接