网站首页 > 开源技术 正文
最近的项目需要用到一个比较冷门的技术,JSF。然后用到关于JSF的一个比较冷门的前端框架Primefaces。虽然小众,但是本着知识就是知识的原则,记录下来说不定以后,或者其他人也会用到。
Primefaces的Datatable标签的不规则表头
变态的客户需求,要求实现如下的表格
每条数据都是复数行,而且各个项目的宽度都不一致,不对齐
代码
<p:dataTable var="car1" value="#{hello.cars}" style="width:700px">
<p:columnGroup type="header">
<p:row>
<p:column headerText="Id" colspan="5" style="width:100px">
</p:column>
<p:column headerText="Year" colspan="5" style="width:100px">
</p:column>
</p:row>
<p:row>
<p:column headerText="Price" style="width:100px">
</p:column>
<p:column headerText="Brand" style="width:100px">
</p:column>
<p:column headerText="Color" colspan="4" style="width:100px">
</p:column>
<p:column headerText="Date" colspan="4" style="width:100px">
</p:column>
</p:row>
</p:columnGroup>
<p:column colspan="10" style="padding:0px;">
<p:panelGrid style="border:0px;" cellpadding="0" cellspacing="0">
<p:row >
<p:column colspan="5" ><h:outputText value="#{car1.id}"/></p:column>
<p:column colspan="5" ><h:outputText value="#{car1.year}"/></p:column>
</p:row>
<p:row>
<p:column style="width:100px">
<h:outputText value="#{car1.price}" />
</p:column>
<p:column style="width:100px">
<h:outputText value="#{car1.brand}" />
</p:column>
<p:column colspan="4" style="width:100px">
<h:outputText value="#{car1.color}" />
</p:column>
<p:column colspan="4" style="width:100px">
<h:outputText value="20190705" />
</p:column>
</p:row>
</p:panelGrid>
</p:column>
</p:dataTable>
需要注意的有以下两点:
- 实现不对齐的多行表头,需要用到<p:columnGroup type="header">标签,更重要的是其中的colspan属性。
- 表格内容用到了<p:panelGrid><p:row><p:column>标签的组合,注意其顺序
Primefaces的Datatable标签的表头中添加按钮或者复选框
同样是变态客户的需求
代码:
<p:dataTable var="item1" value="#{anyBean.items}"
rowKey="#{item1.no}"
selection="#{anyBean.selectItem}"
scrollable="true" scrollHeight="180" scrollWidth="100%"
paginator="true"
rows="5"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
currentPageReportTemplate="Total : {totalRecords} records ({currentPage}of{totalPages})"
rowsPerPageTemplate="5,10,15"
paginatorPosition="bottom"
>
<p:columnGroup type="header">
<p:row>
<p:column width="20" rowspan="2"/>
<p:column width="50" headerText="YearMonth">
<f:facet name="header">
<h:outputText value="YearMonth"/>
<h:commandButton styleClass="ncu-cbtn-hidden" value="Button"/>
</f:facet>
</p:column>
<p:column width="150" headerText="No." sortBy="#{item1.no}">
<f:facet name="header">
<h:outputText value="No."/>
<p:selectBooleanCheckbox value="true" />
</f:facet>
</p:column>
<p:column width="100" headerText="Amount1"/>
<p:column width="100" headerText="Amount2"/>
<p:column width="100" headerText="Amount3"/>
<p:column width="100" headerText="Amount4"/>
</p:row>
<p:row>
<p:column width="100" headerText=""/>
<p:column width="100" headerText="Condition"/>
<p:column width="100" headerText="Date1" sortBy="#{item1.hawbHakoDate}"/>
<p:column width="100" headerText="Date2" sortBy="#{item1.kumiireYearMonth}"/>
<p:column width="100" headerText="No.2"/>
<p:column width="100" headerText="Delete" />
</p:row>
</p:columnGroup>
<!-- 下略 -->
需要注意一下几点:
- 在表头中添加其他控件的是<f:facet>标签。
- 添加复选框的表头如果实现了排序功能,一定要注意复选框的选中和取消触发排序。
- <f:facet>中换行不能使用<br>,暂时不知道如何手动换行。
猜你喜欢
- 2024-09-14 完美支持VUE3的UI框架(vue好看的ui框架)
- 2024-09-14 MyEclipse技术全面解析——Spring IDE,改变应用程序研发
- 2024-09-14 20个你值得了解的Angular开源项目
- 2024-09-14 MetaboAnalyst:代谢组学在线分析神器
- 2024-09-14 超棒 Vue2.0 桌面端UI组件库PrimeVue
- 2024-09-14 从React服务器组件(RSC)反思Jakarta Faces技术
- 2024-09-14 强大的 Angular UI 组件库PrimeNG
- 2024-09-14 工作拾遗4 用gradle建立一个使用primefaces的普通Web工程
- 2024-09-14 工作拾遗5 JSF前端框架Primefaces的几个小tip part2
欢迎 你 发表评论:
- 11-22百度qq号申请注册(在百度上申请qq账号)
- 11-22dos是什么软件
- 11-22系统u盘启动盘(系统 u盘启动)
- 11-22记事本下载(安卓记事本下载)
- 11-22华为电脑wifi开关在哪(华为电脑wifi连接上不能上网怎么办)
- 11-22管理开机启动项(开机启动项管理win10)
- 11-222025动态壁纸图片(2020动态手机壁纸)
- 11-22电脑的设备管理器在哪里打开
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)

本文暂时没有评论,来添加一个吧(●'◡'●)