1

異なる colSpans で p:panels を描画する ap:gridPanel を作成しました。これらのパネルには h:outputText が含まれています。各パネルに ap:resizable を配置して幅を変更します。ただし、最初にサイズを変更すると、パネルは子要素 (h:outputText) の幅にスナップし、その幅からサイズ変更を開始します。

<c:forEach items="#{dataHandler.employees}" var="employee">
<p:row>
    <p:column styleClass="employeeColumn">
        <h:outputText value="#{employee.name}" styleClass="standardText"/>
    </p:column >
        <c:forEach items="#{employee.activities}" var="activity">
            <p:column colspan="#{activity.duration}">
                <c:choose>
                    <c:when test="#{activity.category == 'empty'}"/>
                    <c:otherwise>
                        <p:panel id="#{activity.id}" styleClass="activityPanel"
                            style="background-color:#{activity.color}">
                            <h:outputText value="#{activity.name} - #{activity.duration} days" styleClass="activityText"/>
                                    </p:panel>
                        <p:resizable for="#{activity.id}" handles="e,w" grid="22" minHeight="15" maxHeight="15"/>
                                    <p:draggable for="#{activity.id}" handle=".ui-panel-titlebar" stack=".ui-panel" grid="23,15" 
                                        containment="containment"/>
                        <p:tooltip for="#{activity.id}" styleClass="toolTip">
                                        #{activity.name} <br/> #{employee.name} <br/>from #{activity.startTime} to #{activity.endTime}
                                    </p:tooltip>
                    </c:otherwise>
                </c:choose>
            </p:column>
        </c:forEach>
</p:row>

4

0 に答える 0