0

私はJSF2.1、アプリケーションサーバーとしてtomcat7 +、ブラウザとしてInternet Explorer 8でprimefacesを使用しています。押されたページのリンクが押されない (アクティブとしてシェーディングされている) 場合、アプリケーション全体が応答しません。ただし、pageLinks を使用する前に行を選択すると、その後はすべて正常に動作します。何か助けて?? ここに私のxhtmlページの一部があります。注意: IE8 はお客様の要件であるため、変更できません。テーブル部分はこちら

    <p:ajax global="false" event="close" listener="#{addConditionBean.handleClose}" update="conditionsDialog" /> 
    <h:form id="conditionfrm">
        <p:messages autoUpdate="true" showDetail="true" closable="true" severity="error"/>

        <table style="text-align: center;">
            <tr>
                <td style="text-align: left; height: 100%; vertical-align: top;">
            <p:growl id="infoMsg" showDetail="true"  life="2000" autoUpdate="true" severity="info"/>

             <p:dialog id="conditionsDialog" widgetVar="addCondition"
          header="Add Condition" modal="true" 
          showEffect="fold" hideEffect="fold" closeOnEscape="true" height="400px" width="80%"
          dynamic="true" style="display: none;" binding="#{addConditionBean.conditionDialog}">

    <p:ajax global="false" event="close" listener="#{addConditionBean.handleClose}" update="conditionsDialog" /> 
    <h:form id="conditionfrm">
        <p:messages autoUpdate="true" showDetail="true" closable="true" severity="error"/>

        <table style="text-align: center;">
            <tr>
                <td style="text-align: left; height: 100%; vertical-align: top;">
            <p:growl id="infoMsg" showDetail="true"  life="2000" autoUpdate="true" severity="info"/>

            <p:dataTable   id="ConditionsDT"  value="#{addConditionBean.allConditionsData}" style="height: 90%;"
                           selectionMode="single"
                           selection="#{addConditionBean.selectedCondition}"
                           rowKey="#{condition.conditionId}"
                           paginator="true"
                           rows="50"
                           pageLinks="50"
                           var="condition" scrollable="true" 
                           widgetVar="conditionsTable"
                           emptyMessage="No Conditions found with given criteria">
                <p:ajax event="rowSelect" update="@form" oncomplete="slideShowPanel('displayDiv');" listener="#{addConditionBean.fillSelectedCondition}"/>  
                <f:facet id="facetId" name="header" >
                    <h:commandButton id="addNewCond" label="Add New Condition" image="/styling/images/add.png" style="height:15px;" >
                        <p:ajax global="false" event="click" update="@form" oncomplete="slideShowPanel('displayDiv');"  listener="#{addConditionBean.showAddPanel()}"/>
                    </h:commandButton>
                    <br></br>
                    <!--                                <p:outputPanel>  
                                                        <p:inputText id="globalFilter" style="width:150px" value="" >
                                                            <p:ajax event="keyup" />
                                                        </p:inputText>  
                                                    </p:outputPanel>  -->
                </f:facet>
                <p:column style="height: 50%; text-align:left; width: 20%;" >
                    <h:commandButton value="Delete" image="/styling/images/Delete-icon.png" title="Delete condition" style="height: 20px" >
                        <p:ajax global="false" event="click" listener="#{addConditionBean.deleteCondition(condition)}" update="ConditionsDT" />
                    </h:commandButton>

                </p:column >
                <p:column headerText="Condition Name" style="height: 50%; text-align:left; width: 80%;" sortBy="#{condition.conditionName}" >
                    <h:outputText value="#{condition.conditionId} - #{condition.conditionName}"/>
                </p:column>
            </p:dataTable>
4

1 に答える 1

0

私の問題は、スクロール可能な属性に関係するrowSelectionとは関係がないと思います.scrollable = trueとscrollHeightを削除しましたが、すべて正常に機能しました。スクロールの高さとデータテーブルタグの行属性の間に何らかの衝突があったと思います。

于 2013-10-23T10:51:22.853 に答える