您现在的位置是:首页 >

让歌词都实现 如何让Ext的RowExpander实现异步调用

火烧 2021-11-27 11:04:27 1050
如何让Ext的RowEx a der实现异步调用   目前Ext Grid的RowEx a der使用的模板 是在读取Grid同步加载 实际上这样的处理并不是很好 如果数据量大的话 对性能会有一定影响

如何让Ext的RowExpander实现异步调用  

  目前Ext Grid的RowExpander使用的模板 是在读取Grid同步加载 实际上这样的处理并不是很好 如果数据量大的话 对性能会有一定影响 更好的处理方式是异步加载 只有需要的时候再加载需要的数据 下面介绍如果实现

  一 下载此文件% Fexample% Ezip 这是国外一个朋友扩展的RowExpander 我对比了几种处理方式 他这个写的最简洁 而且最容易使用 所以推荐大家使用他的RowExpander 他的Blog主页 C E E F A D

  二 将下载的压缩文件用WinRar或者别的压缩文件解压缩 将 rowexpander_exampleresourcesjscustom 目录中的 RowExpander js 加入你要用的页面中 这个就是我们要使用的RowExpander

  三 在页面中使用这个RowExpander 其实就是在想使用RowExpander的页面中实例化这个RowExpander 实现异步加载数据的方法 在你定义好了自己的Grid的前提下 使用的具体代码示例如下

  // RowExpander实例化

  var expander = new Ext grid RowExpander( {

  remoteDataMethod :getRemoteData

  })

  //调用远程数据函数

  function getRemoteData(){

  //你要实现的调用远程数据的代码

  //更新数据到页面中 最终数据显示靠这个实现 必须使用!!

  Ext getDom( remData + index) innerHTML = 得到的数据;

  }

  实际上已经有很完整的示例在那位作者的程序中了 rowexpander_exampleresourcesjscustomgridtest js

  注意问题

  这个远程方法最后是通过innerHTML 方法把得到的数据显示在页面中 如果页面使用了多个Grid 创建了多个RowExpander实例 那么就需要修改RowExpander js里面的一点代码了 否则一直显示数据在一个DIV中 同时页面中也要区别要把数据显示在哪个DIV中

   修改RowExpander中的beforeExpand 将if (this remoteDataMethod) {}中原来的代码修改成你要显示的DIV 原来的DIV名字为 remData 修改成你想用的名字 如果是多个RowExpander实例 根据自己需要判断 生成多个不同名字的DIV

让歌词都实现 如何让Ext的RowExpander实现异步调用
lishixinzhi/Article/program/Java/hx/201311/26826  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码