2012-12-19 37 views
4

我有3个标签即。 3-Jsp和一个主Jsp包含所有选项卡。所有的标签都有searchcontainer。当我点击下一个时,它会自动将我发送到第一个标签。 我的选项卡是完美的问题,只有当动作触发searchcontainer时才会发生。Searchcontainer分页与标签

“>

<liferay-ui:search-container-results 
     results="<%=ListUtil.subList(users, searchContainer.getStart(), searchContainer.getEnd()) %>" 
     total="<%=usersNameList.size() %>" 
    /> 
     <liferay-ui:search-container-row 
      className="com.liferay.portal.model.User" 
      keyProperty="userId" 
      modelVar="userToDisplay" 
     > 
      <liferay-ui:search-container-column-text 
       name="UserName" 
       value="<%=userToDisplay.getFullName() %>" 
      /> 

我应该在iteratorurl写什么来克服这个问题..帮助我。

感谢周杰伦

回答

5

朋友我得到了解决。

<% 
    PortletURL url= renderResponse.createRenderURL(); 
//creates a portlet url and now add the attributes that make you traverse till current page. 
//In my case view->Group tab -> Add Users(addUserSelected is action) -> SearchContainer 
// tabs 1 takes value group 
//action is addUserSelected so it will traverse till here 
//Now only set this url in Iterator URL in search container 
    url.setParameter("tabs1", "Group"); 
    url.setParameter("actionvalue","user"); 
    url.setParameter("action","addUserSelected"); //name of action by which you get the page on current tab 
    url.setParameter("typePage","adduser"); 
%> 


<liferay-ui:search-container delta="10" emptyResultsMessage="Data-Not-Found" iteratorURL="<%=url %>" > 

    <liferay-ui:search-container-results 
     results="<%=ListUtil.subList(users, searchContainer.getStart(), searchContainer.getEnd()) %>" 
     total="<%=usersNameList.size() %>" 
    /> 
     <liferay-ui:search-container-row 
      className="com.liferay.portal.model.User" 
      keyProperty="userId" 
      modelVar="userToDisplay" 
     > 
      <liferay-ui:search-container-column-text 
       name="UserName" 
       value="<%=userToDisplay.getFullName() %>" 
      /> 

      <liferay-ui:search-container-column-text> 
       <input type="checkbox" name="userCheck" id="userCheck" value="<%=String.valueOf(userToDisplay.getUserId())%>"/> 
      </liferay-ui:search-container-column-text> 
      <%-- //<%} %> --%> 
     </liferay-ui:search-container-row> 
     <liferay-ui:search-iterator/> 

</liferay-ui:search-container> 

注意:不要使用静态名称,尽管您可以使用

+0

是的,就是这样做的。由于SearchContainer迭代将重新加载页面,因此必须通过iterationURL传递大量的请求参数。最终我最终使用了ajax dataTables,它将管理排序和分页而不重新加载页面。它也可以让你在你的模型中设置你的列数据类 – yannicuLar

+1

嘿,你可以请把你的代码,或链接到它? –

+1

如果你对dataTables感兴趣,你真正需要的是一个合适的教程[http://www.datatables.net/examples/data_sources/ajax.html]。当你有时间的时候试试,如果你有问题,我可以帮忙 – yannicuLar