[ECSide] gt-gid:dwr的ajax取数延迟导致列表显示为空

小天蝎 2008-06-03

在gt-grid5.8号版本上的demo.html实例的基础上添加了DWR的ajax取数方法,修改了getTestData方法:

function getMyList(grid){
    var rs = [];
    var responseT={};
    var pageInfo= grid.getPageInfo();
    var result = GtFpiaoList.getArrayList(function(data){
        rs = data;
        alert(rs);

        responseT[grid.CONST.data]=rs.slice( pageInfo.startRowNum-1,pageInfo.endRowNum);
        responseT[grid.CONST.pageInfo]={totalRowNum :rs.length} ;
    });
        return responseT;
}
 

这里我非要添加一个alert(rs)动作。当对话框弹出来时,程序阻塞了,而dwr异步取数正好可以取到数。因此列表可以展现出来。但如果我去掉alert(rs),则列表只有表头,数据为空。

如果能异步接收就没这个问题了。

大家有什么方法取数,能够避免这个问题?

 

小天蝎 2008-06-03

在fins的doc.txt中提到:

下一版本的计划:
1 支持过滤
2 支持多列排序
3 完善统计功能
4 完善校验机制
5 编写和后台接合的例子
6 完善文档( 等待 javaeye的wiki完善,目前的je wiki太弱.表格 章节 图片 代码的支持还不够好 )

 

5 编写和后台接合的例子

估计这一版要等很久,谁能提供一些自己的做法,不胜感激!

fins 2008-06-04
GtFpiaoList.getArrayList 的工作原理说一下

小天蝎 2008-06-04
GtFpiaoList是DWR接口,getArrayList为对应方法,function(data)为回调函数,返回的值即data,DWR自动转换了类型。

getMyList(grid)执行后,getArrayList将异步取数并返回给data。
测试过程发现data还没取道数据gt-grid就已经完成了列表的展现了,因此无法把尚未到达的data展现出来。
小天蝎 2008-06-04
如果直接使用loadUrl,可以取到数据,但我还不知道如何在这个地方(直接服务器端?)完成分页。
Global site tag (gtag.js) - Google Analytics