easyUI datagrid虚拟下拉刷新数据出现问题,请指教!

蜡笔小新_ 发布于 2014/08/15 16:29
阅读 183
收藏 0

项目中使用datagrid进行数据的展示,但是由于某个特殊的原因不太好分页,直接加载的话太慢尤其是IE,那么我就采取了使用easyUI提供的datagrid-scrollview.js进行下拉刷新数据这种方式。

也是第一次做,以前没做过。我按照demo来写顺便也查了一下网上的博客,官方DEMO:http://www.jeasyui.com/tutorial/datagrid/datagrid27_demo.html

由于官方的后台demo都是PHP写的,我对PHP不熟我都不认识里面的代码的含义,我先贴出来PHP的后台处理:


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$page= isset($_POST['page']) ?intval($_POST['page']) : 1; 
$rows= isset($_POST['rows']) ?intval($_POST['rows']) : 50; 
   
$items=array(); 
date_default_timezone_set('UTC'); 
for($i=1;$i<=$rows;$i++){ 
    $index=$i+($page-1)*$rows; 
    $amount= rand(50,100); 
    $price= rand(10000,20000)/100; 
    $items[] =array( 
        'inv'=> sprintf("INV%04d",$index), 
        'date'=>date('Y-m-d',time()+24*3600*$i), 
        'name'=>'Name'.$index, 
        'note'=>'Note'.$index, 
        'amount'=>$amount, 
        'price'=> sprintf('%01.2f',$price), 
        'cost'=> sprintf('%01.2f',$amount*$price) 
    ); 
$result=array(); 
$result['total'] = 8000; 
$result['rows'] =$items; 
echojson_encode($result);



我这边也是第一次做,磕磕绊绊的,首先我先加载了需要的    datagrid-scrollview.js,这也会从官网下载的,肯定没错吧。


我在前台添加了2个重要的属性:pageSize和view:

?
1
2
3
4
5
6
7
8
9
10
11
<table id="showTable"
                           view="scrollview"
                           pageSize ="30"
                           nowrap="false"
                           singleSelect="true"
                           striped="true"
                           fitColumns="false"
                           fit="true"
                           nowrap="false"
                           autoRowHeight="false"
                           >



这些配置都适合官方的demo一样的。


我的后台是servlet:

我不知道上面那段PHP的前两段的意思是不是给默认值,我就给了:

?
1
2
intpageSize=request.getParameter("rows")==null?30:Integer.parseInt(request.getParameter("rows"));
        intpage=request.getParameter("page")==null?1:Integer.parseInt(request.getParameter("page"));



拿着参数往后台调方法返回json串,json串中也跟官方的格式一样都有结果集和总条数:

map.put("rows", list);
map.put("total", this.getCounts(zy, times, fl, tableName));

将map转成json返回给前台。

运行后前台是接收到了我默认的50条记录,但是鼠标上下翻动没有任何反应,翻动鼠标后台也没有发送页码和条数的参数。。。

我以为刚上来是默认的50条和第一页,翻动滚动条时候会自动的向后台发送下一页的页码和每页条数,但是好像不是我这样理解的,完全没有动静。

我很郁闷,大家给我缕缕,谢谢了。

加载中
返回顶部
顶部