문제

Rich : DataTable and Rich : 열이있는 확장 가능한 열/행을위한 간단한 솔루션을 만들었습니다. Rich와 함께 확장 가능/접을 수있는 하위 테이블을 만드는 가장 좋은 방법 : DataTable

페이스 렛 코드는 다음과 같이 (단순화)됩니다.

<rich:dataTable id="detailtable"
    value="#{bean.model}"
    var="row"
    columns="2">
    <rich:column id="detail-check">
        <f:facet name="header">
            <h:selectBooleanCheckbox value="#{bean.expandAll}">
                <a4j:support event="onchange" action="#{bean.expandAllAction}"
                    reRender="detailtable" />
            </h:selectBooleanCheckbox>
        </f:facet>
        <h:selectBooleanCheckbox value="#{row.expanded}">
            <a4j:support event="onchange" reRender="detailtable" />
        </h:selectBooleanCheckbox>
    </rich:column>
    <!-- actual data column -->
    <rich:column id="detail-column"
        rendered="#{row.expanded}"
        breakBefore="true"
        colspan="2">
        <!-- detail column content -->
    </rich:column>
</rich:dataTable>

이것은 세부 사항 상자를 클릭 할 때 확장 된 열이있는 테이블을 제공합니다. 세부 사항은 실제 행 아래로 렌더링됩니다. 뒷면 Bean의 Expandallaction은 단지 행 위로 반복하고 확장 된 속성을 뒷면 Bean과 동일하게 설정하여 모든 행을 확장/확장시킵니다.

그러나 FF 및 Chrome에서 작동하지만 Internet Explorer (IE7 또는 IE8)에서는 올바르게 작동하지 않습니다. 사용자가 확인란을 클릭하면 페이지의 다른 장소를 클릭 할 때까지 아무것도 렌더링되지 않습니다. 뒷면 콩과 물체가 업데이트되고 있지만 다른 요소가 클릭 될 때까지 다시 렌더링되지 않습니다.

이것은 IES로 다시 사악한 것입니까, 아니면 Richfaces가있는 버그입니까? IE와 TBody와 비슷한 문제를 발견했지만 수정되었을 것입니다. 버그 보고서를 제출할 수 있지만 그 때까지 간단한 해결 방법이 있습니까?

Richfaces 버전은 3.3.1이며 Jboss 4.2.1ga 및 번들링 Sun Ri에서 실행됩니다.

도움이 되었습니까?

해결책

다른 이벤트를 사용해보십시오 onclick
tldoc에서 SelectBooleanCheckbox: onchange ~이다 "이 요소가 초점을 잃고 초점을 얻은 후 그 가치가 수정 될 때 JavaScript 코드가 실행되었습니다." 그리고 onclick ~이다 "포인터 버튼을 클릭하면이 요소를 클릭하면 JavaScript 코드가 실행되었습니다."

어제는 비슷한 질문. Balusc의 한 의견은 내 가정을 확인할 수 있습니다 "라디오/체크 박스의 경우 변경 이벤트는 특정 브라우저에서 2 번 클릭하면 해고되었습니다."

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top