amp@java

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  99 随笔 :: 0 文章 :: 228 评论 :: 0 Trackbacks
用Tomahawk的<h:dataScroller>时,如果在表格中增加了操作控件,点击后会对表的行数产生影响时,就需要在backing bean的action method里对表格进行翻页。例如,表格的每一行有个“删除”按钮,在该按钮的监听函数里对数据库进行删除操作后需要更新表格内容,这时候如果删除的正好是最后一页的最后一条记录,则更新表格的dataModel后,表格仍停留在最后一页,但没有显示任何记录,需要手动翻到前一页才能看到其他记录,行为十分怪异。因此需要在监听函数里判断当前删除的时候为最后一页的最后一条记录,如果是的话就通过程序翻到前一页。
具体实现如下:
在表格所在页面的backing bean里增加一个HtmlDataScroller成员变量,并设置它的setter和getter,再通过页面上的dataScroller控件中的binding属性把该控件与成员变量联系起来,然后在按钮监听处理中对该控件进行操作。要把表格定位在某一页,需要用到HtmlDataScroller的getUIData().setFirst()方法。
public class PageBean{
  
private HtmlDataScroller scroller = null;
  
public HtmlDataScroller getScroller(){
    
return scroller;
  }

  
public void setScroller(HtmlDataScroller scroller){
    
this.scroller = scroller;
  }

  
public String buttonListionMethod(){
    
    scroller.getUIData().setFirst(
0);
    
  }
posted on 2006-06-15 11:12 amp@java 阅读(943) 评论(2)  编辑  收藏 所属分类: JSF

评论

# re: 在Backing Bean中控制dataScroller实现翻页 2006-11-11 16:39 你大爷
我给你几个字啊 不懂就不要写上来 写的简直是莫名其妙   回复  更多评论
  

# re: 在Backing Bean中控制dataScroller实现翻页 2006-11-11 21:33 你老爸
我说儿子啊,你咋这样呢,看不懂就老实说自己蠢嘛,你老爸我不会怪你,但你说人家写得莫名其妙就是你的不对了。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: