我正在使用t:dataScroller从at:dataTable滚动一些数据并且除了一件事情之外它工作正常:每次触发导致刷新屏幕的操作时t:dataScroller的索引设置为1 。
更清楚:当我在第二页(索引== 2)并触发屏幕刷新操作时,刷新后,dataTable的数据仍然来自索引2,但dataScroller显示该页面正在展示的是第一个。
我正在以这种方式使用dataScroller:
<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.jar 和 myfaces-api-2.0.4.jar
答案 0 :(得分:3)
用于在提交按钮上将滚动条设置为firstpage set actionlistener。
<t:commandButton actionListener="#{IFussBean.resetDataScroller}"
action="#{IFussBean.searchLocation}"
image="images/submit-button.png">
</t:commandButton>
结合:
如果是数据表
<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 getter,如下所示:
private HtmlDataTable iFussData;
Getter和setter
public HtmlDataTable getiFussData() {
return iFussData;
}
public void setiFussData(HtmlDataTable iFussData) {
this.iFussData = iFussData;
}
现在在Bean中定义ActionListener方法:
public void resetDataScroller(ActionEvent e) {
if(iFussData!= null) {
iFussData.setFirst(0);
}
}
当您进行新搜索时,您的页面将设置为第一页。
/ <强> * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * 强> /
如果您使用<rich:dataGrid>
而卷轴是<t:dataScroller>
则
<rich:dataGrid
id="data"
var="item"
columns="3"
elements="6"
width="600px"
value="#{IFussBean.searchVideoList}"
binding="#{IFussBean.iFussDataGrid}"
>
在Bean中声明HtmlDataGrid:
private HtmlDataGrid iFussDataGrid;
它的getter和setter
public HtmlDataGrid getiFussDataGrid() {
return iFussDataGrid;
}
public void setiFussDataGrid(HtmlDataGrid iFussDataGrid) {
this.iFussDataGrid = iFussDataGrid;
}
现在在Bean中定义它的动作监听器,它将在按下命令按钮进行搜索时调用:
public void resetDataScroller(ActionEvent e) {
if(iFussDataGrid != null) {
iFussDataGrid.setFirst(0);
}
}
在命令按钮
上调用ActionListener<h:commandButton styleClass="submit-button" actionListener="#{IFussBean.resetDataScroller}" action="#{IFussBean.searchLocation}" image="images/submit-button.png"/>
它也给出欲望的结果。