слияние ячеек в datatable в простых лицах

Я новичок в праймфейсах. У меня есть один datatable в моем приложении. В этом для 3 столбцов мне нужно объединить несколько строк. Это количество строк будет генерироваться динамически на основе данных. Если я попытался использовать rowspan в этом конкретном теге столбца, он дополнительно создал пустые ячейки, и общий формат данных был изменен. Как объединить эти строки данных в простые лица. Для справки прилагаю дизайн и код.

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>

Необходимо объединить первые три столбца «дата, слот и количество необходимых ресурсов» на основе данных столбца сотрудника. Направь меня в этом. Заранее спасибо.


person Akshaya Selvakumar    schedule 29.06.2015    source источник
comment
Почему тег yui-datatable? Какую версию ПФ вы используете?   -  person Kukeltje    schedule 29.07.2015


Ответы (3)


Вы можете использовать p:summaryRow tag в p:dataTable. Пример:

<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>

Для получения дополнительной информации см. ссылку на демонстрацию Primefaces: http://www.primefaces.org/showcase/ui/data/datatable/summaryRow.xhtml

person mns45    schedule 29.07.2015

Это просто невозможно в datatable.

person Kukeltje    schedule 29.07.2015

person    schedule
comment
Для какой версии PF это работает? Мы будем признательны за очень старые, использующие yui-datatable (2.0 и ниже?), и, пожалуйста, добавьте небольшой текст/объяснение. - person Kukeltje; 12.11.2016
comment
Primefaces 5.3, но я думаю, его можно легко адаптировать к более старым версиям. - person Nickolay Minchev; 14.11.2016