帆软大数据自定义分页

第一步构建查询

1.自定义查询语句:${f}为开始页,${p}为一页数量,初始值如图

select * from table limit ${f},${p}

设置p的初始值,也可以在上图的参数写死,设置初始页面为第几页,默认为1(page的值)。 

 第二步:自定义按钮7个按钮:

设置填报或者分页预览的模板web属性,设置为该模板自定义:

然后设计加载结束事件

var toolbar = contentPane.toolbar;

var items = toolbar.options.items;

var customButton=items[2];//JQUERY取我们的工具栏上的按钮.items[2]代表的是第三个,也就是那个显示成文本框按钮。
//修正这个按钮的属性,让它变成文本类型,居中,鼠标放上次图标是编辑状态。
var cellValue = contentPane.curLGP.getCellValue("D1");//获取D1单元格的值就是page,也就是当前页。
customButton.setText(cellValue);


var total=contentPane.curLGP.getCellValue("C1");

if (total>parseInt(total)){
total=parseInt(total)+1;
}
contentPane.toolbar.options.items[4].setText(total);
//把总页数显示在第5个控件上,因为这个数值可能是小数,所以判断下要不要加一处理。
contentPane.toolbar.options.items[3].setText(contentPane.curLGP.getCellValue("E1"));

这几个值来自单元格的第一行:A1,B1,C1,D1,D1的单元格的值,其中C1为查询的总行数

=$page-1    =$page+1    ds2.G(zs)    =$page    ="/" 

定义第一个按钮首页的js

window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page=1";//链接到fenye.cpt,page 参数=1,代表第一页。

第二个按钮上一页

var page= $("tr[tridx=0]","div.content-container").children().eq(0).html();  //取第一行第一个单元格内容。

if(page==0)

{

this.setEnable(false);

alert("页面超出指定的范围");

}

else

window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+page//如果没有小于1就正常跳转,否则显示页面超过指定的范围,这个控件设置不可以使用。

第三个按钮当前页

var toolbar = contentPane.toolbar;

        var items = toolbar.options.items;

        var customButton=items[2];

        var inner = customButton.$table;

        var btnWrapper = $("em", inner);

var $input = $("input", btnWrapper);

//取这个控件

$input.blur(function(){

  var toolbar = contentPane.toolbar;

        var items = toolbar.options.items;

        var customButton=items[2];

        var inner = customButton.$table;

        var btnWrapper = $("em", inner);

var $input = $("input", btnWrapper);

var page=$input.val();

var total=$("tr[tridx=0]","div.content-container").children().eq(2).html(); 

if (total>parseInt(total)){total=parseInt(total)+1;

}

if(parseInt(page) > parseInt(total) || parseInt(page) < parseInt(1) )

{

alert("你输出的页数不再指定范围内");

}

else

window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+page

});

 第四个按钮分页符:第5个按钮总页数,无js事件

第6个按钮下一页

var page= $("tr[tridx=0]","div.content-container").children().eq(1).html();  
var total=$("tr[tridx=0]","div.content-container").children().eq(2).html(); 
//JQURUY取下一页和总页数
      if (total>parseInt(total)){total=parseInt(total)+1;
     }
//判断总页数是不是整数,不是加一
      if(parseInt(page) > parseInt(total))
  {
this.setEnable(false);
alert("页数超出指定范围内");
}
else
window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+page
//如果下一页在这个范围就跳转到那里

第7个按钮尾页

var total=$("tr[tridx=0]","div.content-container").children().eq(2).html();  
//取总页数。
if (total>parseInt(total)){total=parseInt(total)+1;
}
window.location.href="${servletURL}?viewlet=报表.cpt&op=write&page="+total
//判断总页数是不是整数,不是加一,并跳转到最后一页。

 第三部展示结果:

猜你喜欢

转载自blog.csdn.net/qq_26408545/article/details/102932292