首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >T:数据dataScroller在刷新时不能正常工作

T:数据dataScroller在刷新时不能正常工作
EN

Stack Overflow用户
提问于 2012-09-28 19:02:19
回答 1查看 2.6K关注 0票数 0

我使用t:dataScroller从t:dataTable滚动一些数据,它运行良好,除了一件事:每次触发导致屏幕刷新的操作时,t:dataScroller的索引设置为1。

更清楚的是:当我在第二页(索引== 2)和屏幕刷新操作触发时,刷新后,dataTable的数据仍然来自索引2,但是dataScroller显示正在显示的页面是第一个页面。

我是这样使用dataScroller的:

代码语言:javascript
复制
<t:dataScroller for="myDataTable" id="myDataScroller" paginator="true"
    paginatorMaxPages="#{myBean.paginatorMxPgs}" 
    pageCountVar="pgCount" pageIndexVar="#{myBean.curPg}"
    actionListener="#{myBean.pgListener}">

<f:facet name="prv">
    <h:panelGroup rendered="#{myBean.curPg > 1}" />
</f:facet>
<f:facet name="nxt">
    <h:panelGroup rendered="#{myBean.curPg != pgCount}"/>
</f:facet>
</t:dataScroller>

我用的是tomahawk20-1.1.11.jarmyfaces-api-2.0.4.jar

EN

回答 1

Stack Overflow用户

发布于 2013-01-24 06:48:09

用于将滚动器设置为第一页,在submit按钮上设置actionlistener。

代码语言:javascript
复制
<t:commandButton actionListener="#{IFussBean.resetDataScroller}" 
                   action="#{IFussBean.searchLocation}" 
                   image="images/submit-button.png">    
  </t:commandButton>

具有约束力:

如果是datatable

代码语言:javascript
复制
<t:dataTable id="data"
             headerClass=""
             footerClass=""
             rowClasses="text_holder"
             columnClasses="search_img,search_txt"
             var="item"
             value="#{IFussBean.searchVideoList}"
             preserveDataModel="false"
             rows= "6"
             binding="#{IFussBean.iFussData}"
 >

在Bean中声明HtmlDataTable,将其setter定义如下:

代码语言:javascript
复制
private HtmlDataTable iFussData;

Getter和setter

代码语言:javascript
复制
 public HtmlDataTable getiFussData() {
        return iFussData;
    }
    public void setiFussData(HtmlDataTable iFussData) {
        this.iFussData = iFussData;
    }

现在在Bean中定义ActionListener方法:

代码语言:javascript
复制
public void resetDataScroller(ActionEvent e) {
       if(iFussData!= null) {
           iFussData.setFirst(0);
       }
}

当您进行新的搜索时,您的页面将设置为第一页。

/***************************************************************************************************************如果您使用的是*******************/,而您的滚筒是<t:dataScroller>,那么

代码语言:javascript
复制
 <rich:dataGrid 
            id="data"
            var="item" 
            columns="3" 
            elements="6" 
            width="600px"
            value="#{IFussBean.searchVideoList}"
            binding="#{IFussBean.iFussDataGrid}"
    >

在Bean中声明HtmlDataGrid:

代码语言:javascript
复制
private HtmlDataGrid iFussDataGrid;

它的取食者和策划者

代码语言:javascript
复制
public HtmlDataGrid getiFussDataGrid() {
        return iFussDataGrid;
    }



 public void setiFussDataGrid(HtmlDataGrid iFussDataGrid) {
            this.iFussDataGrid = iFussDataGrid;
        }

现在在Bean中定义它的动作侦听器,它将在按下命令按钮进行搜索时调用:

代码语言:javascript
复制
 public void resetDataScroller(ActionEvent e) {
               if(iFussDataGrid != null) {
                   iFussDataGrid.setFirst(0);
               }
          }

在命令按钮上调用ActionListener

代码语言:javascript
复制
<h:commandButton styleClass="submit-button" actionListener="#{IFussBean.resetDataScroller}" action="#{IFussBean.searchLocation}" image="images/submit-button.png"/>

它也会给出欲望的结果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12645865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档