热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

liferaysearchcontainer的两种实现方式

在c#里面,我们有可拖动的控件datagrid可用,但是,在liferay中没有这种控件。但是,为了在界面上显示类似的功能时

在c#里面,我们有可拖动的控件datagrid可用,但是,在liferay中没有这种控件。但是,为了在界面上显示类似的功能时,我们需要searchContainer来实现。

下面介绍一下,我所采用的两种方法来实现。

第一种:

  ' emptyResultsMessage="root-empty-results-message">  

  

    results&#61;"<%&#61; FirstlevelLocalServiceUtil.getFirstlevelsByGroupId(scopeGroupId, searchContainer.getStart(), searchContainer.getEnd()) %>"  

     total&#61;"<%&#61; FirstlevelLocalServiceUtil.getFirstlevelsCountByGroupId(scopeGroupId) %>"  >

    

   "     >   

    "   />

       

   

     

在上述代码中&#xff0c;delta属性是为了控制所显示的行数&#xff0c;此处默认显示5行&#xff0c;如果超过则显示分页&#xff08;该功能为search-container自动提供&#xff09;。(prefs.getValue("rowsPerPage", "5")&#xff0c; 其中prefs需要事先定义如下&#xff1a;

<%
 PortletPreferences prefs &#61; renderRequest.getPreferences();
%>

另外两个属性results和total是从数据库中所取出的结果集及总数。

中&#xff0c;name 为所显示的列名称。

可以添加对应的图片或者按钮&#xff0c;当我们点击时&#xff0c;可以进行跳转。

最重要的是 &#xff0c;该句是为了将所取出的数据逐条显示到界面。类似于c&#43;&#43;中vector的iterator功能。

 

第二种方法&#xff1a;

<%

PortletURL portletURL &#61; renderResponse.createRenderURL();

List headerNames &#61; new ArrayList();

headerNames.add("name");   //增加列名

headerNames.add("Operate"); //增加列名

// create search container, used to display table

SearchContainer searchContainer &#61; new SearchContainer(renderRequest,null, null,SearchContainer.DEFAULT_CUR_PARAMSearchContainer.DEFAULT_DELTA,

                              portletURL,headerNames, "There No Result To Display");

 searchContainer.setTotal(petsCount);

 List resultRows &#61; searchContainer.getResultRows();

 List results &#61; FirstlevelLocalServiceUtil.getFirstlevelsByGroupId(scopeGroupId, searchContainer.getStart(), searchContainer.getEnd());

 for (int i &#61; 0; i

 Firstlevel getGirstlevel &#61; (Firstlevel)results.get(i);  

ResultRow row &#61; new ResultRow(getGirstlevel, getGirstlevel.getFirstlevelId(), i);

 row.addText(getGirstlevel.getName(), "");  //将数据加入

 row.addJSP("/html/config/firstlevel_actions.jsp", application, request, response); //将要跳转的页面加入

 resultRows.add(row);  //将显示的行加入

} %>

这段代码的功能&#xff0c;将所有的数据信息从数据库中取出并进行的存储。剩下所要进行的操作就是将其显示出来。

那么使用下面代码

" />

这个时候对应的数据将进行显示

上面显示的图片&#xff0c;是将对应的分页功能去掉了。正常&#xff0c;会显示总共有多少条记录&#xff0c;以及前一页&#xff0c;后一页&#xff0c;第一页等功能。

为了将显示的结果数和分页功能去掉的话&#xff0c;在searchContainer中增加paginate&#61;"<%&#61;false%>"即可&#xff0c;如下&#xff1a;

" searchContainer&#61;"<%&#61; searchContainer %>" />

 

 

 


转载于:https://www.cnblogs.com/zhiliang/archive/2013/02/08/2909159.html


推荐阅读
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
author-avatar
跑车世界Y
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有