简体   繁体   English

在primefaces的数据表中的单元格合并

[英]cell merge in datatable at primefaces

I am new to primefaces.我是素面的新手。 I have one datatable in my application.我的应用程序中有一个数据表。 In that for 3 columns i need to merge some rows.对于 3 列,我需要合并一些行。 That row count will be generated dynamically based on the data.该行数将根据数据动态生成。 If I tried to use rowspan in that particular column tag, it additionally created blank cells and the total datatable format is changed.如果我尝试在该特定列标记中使用 rowspan,它还会创建空白单元格并更改总数据表格式。 How to do merge that datarows in primefaces.如何合并primefaces中的数据行。 For reference, I am attaching the design and code.作为参考,我附上了设计和代码。

Xhtml code: Xhtml代码:

    <f:facet name="header">
        <h:outputText value="Date"></h:outputText>
    </f:facet>  
        <h:outputText value="#{step2table.rs2_date}" />

</p:column>

<p:column style="font-size:12px;width:73px;" >
    <f:facet name="header">
        <h:outputText value="Slot"></h:outputText>
    </f:facet>  
        <h:outputText value="#{step2table.rs2_slot}" />
</p:column>

<p:column style="font-size:12px;width:73px;" >
    <f:facet name="header">
        <h:outputText value="Number of Resources Required"></h:outputText>
    </f:facet>  
        <h:outputText value="#{step2table.rs2_noresources}" />
</p:column>

<p:column headerText="Select" id="hSelect" style="font-size:12px;width:60px;">

    <p:selectBooleanCheckbox id="Booleanchkbox" onclick="{dtstep2_tab1.select='true'}" >  
        <p:ajax listener="#{dtstep2_tab1.UpdateStatus}" update="panel1" />

    </p:selectBooleanCheckbox>
</p:column>

<p:column style="font-size:12px;width:70px;">
    <f:facet name="header">
        <h:outputText value="Employee Name"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_empname}"  />
</p:column>

<p:column style="font-size:12px;width:120px;">
    <f:facet name="header">
        <h:outputText value="Contact Details"></h:outputText>
    </f:facet>
    <h:outputText value="#{step2table.rs2_contactdet}" />
</p:column>

<p:column style="font-size:12px;width:70px;">
    <f:facet name="header">
        <h:outputText value="Worked Hrs to Date"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_totworkhours}" />
</p:column>

<p:column style="font-size:12px;width:50px;">
    <f:facet name="header">
        <h:outputText value="Agency Recruited"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_recruitmode}"  />
</p:column>

<p:column style="font-size:12px;width:70px;">
    <f:facet name="header">
        <h:outputText value="Priority"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_priority}"/>
</p:column>

<p:column style="font-size:12px;width:90px;">
    <f:facet name="header">
        <h:outputText value="Type of Skill"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_skilltype}"  />
</p:column>

<p:column style="font-size:12px;width:120px;">
    <f:facet name="header">
        <h:outputText value="Restriction"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_restriction}" />
</p:column>

<p:column style="font-size:12px;width:150px;">
    <f:facet name="header">
        <h:outputText value="Rest. Details"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_restdet}"  />
</p:column>

<p:column style="font-size:12px;width:70px;">
    <f:facet name="header">
        <h:outputText value="B2B Days"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_b2bdays}"  />
</p:column>

<p:column style="font-size:12px;width:70px;">
    <f:facet name="header">
        <h:outputText value="B2B Hrs"></h:outputText>
    </f:facet>
        <h:outputText value="#{step2table.rs2_b2bhrs}" />
</p:column>

<p:column headerText="Status" id="hStatus" style="font-size:12px;width:100px;">
    <h:selectOneMenu id="cbo" value="#{step2table.rs2_status}" >
        <f:selectItem itemLabel="Confirmed" itemValue="Confirmed"></f:selectItem>
        <f:selectItem itemLabel="Selected" itemValue="Selected"></f:selectItem>
        <f:selectItem itemLabel="Rejected" itemValue="Rejected"></f:selectItem>

    </h:selectOneMenu>
</p:column>

<p:column style="font-size:12px;width:150px;">
    <f:facet name="header">
        <h:outputText value="Comments"></h:outputText>
    </f:facet>
        <h:inputText value="#{step2table.rs2_comments}" rendered="#{dtstep2_tab1.editable}"/>
</p:column>

Need to merge first three columns "date, Slot, and No of Resources Required" based on the employee column data.需要根据员工列数据合并前三列“日期、槽位和所需资源数”。 Guide me on this.在这方面指导我。 Thanks in advance.提前致谢。

You can use p:summaryRow tag in p:dataTable .您可以在p:dataTable使用p:summaryRow tag Example:例子:

<h:form>
    <p:dataTable var="car" value="#{dtSummaryRowView.cars}" sortBy="#{car.brand}">
        <p:column headerText="Id" sortBy="#{car.id}">
            <h:outputText value="#{car.id}" />
        </p:column>
        <p:column headerText="Year" sortBy="#{car.year}">
            <h:outputText value="#{car.year}" />
        </p:column>
        <p:column headerText="Brand" sortBy="#{car.brand}">
            <h:outputText value="#{car.brand}" />
        </p:column>
        <p:column headerText="Color" sortBy="#{car.color}">
            <h:outputText value="#{car.color}" />
        </p:column>
        <p:summaryRow>
            <p:column colspan="3" style="text-align:right">
                <h:outputText value="Total:" />
            </p:column>
            <p:column>
                <h:outputText value="#{dtSummaryRowView.randomPrice}">
                    <f:convertNumber type="currency" currencySymbol="$" />
                </h:outputText>
            </p:column>
        </p:summaryRow>
    </p:dataTable>
</h:form>

For more information, see the primefaces showcase link: http://www.primefaces.org/showcase/ui/data/datatable/summaryRow.xhtml有关更多信息,请参阅 primefaces 展示链接: http : //www.primefaces.org/showcase/ui/data/datatable/summaryRow.xhtml

这在数据表中根本不可能。

<p:column width="440">
    <p:panelGrid rendered="#{someCondition}">
        <f:facet name="header">
            <p:row>                             
                <p:column width="80"><h:outputText value="#{msg.isin}" /></p:column>
                <p:column width="80"><h:outputText value="#{msg.wkn}" /></p:column>
                <p:column width="200"><h:outputText value="#{msg.name}" /></p:column>
                <p:column width="80"><h:outputText value="#{msg.amount}" /></p:column>
            </p:row>
        </f:facet>
        <p:row>                             
            <p:column><h:outputText value="#{savingsPlanPosition.isin}" /></p:column>
            <p:column><h:outputText value="#{savingsPlanPosition.wkn}" /></p:column>
            <p:column><h:outputText value="#{savingsPlanPosition.name}" /></p:column>
            <p:column><h:outputText value="#{savingsPlanPosition.amount}" /></p:column>
        </p:row>
    </p:panelGrid>
    <p:panelGrid rendered="#{!someCondition}">
        <h:link id="savingsPlanPositionDetails${rowIndex}"
            title="#{msg.assign_etf}"
            outcome="portfolioPositionDetail">
            <f:param name="portfolioId"
                value="#{savingsPlanController.portfolioId}"></f:param>
            <f:param name="portfolioPositionId"
                value="#{savingsPlanPosition.portfolioPositionId}"></f:param>
            <f:param name="from"
                value="savingsPlan"></f:param>
            <h:outputText value="#{msg.assign_etf}"/>
        </h:link>
    </p:panelGrid>
</p:column>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM