2

Rich Faces 3.x を実行しており、dataTable 内に subTable があり、できれば Java スクリプトを使用して表示/非表示を切り替えたいと考えています。私がこれまでに持っているもの...

<c:set var="plusIcon" value="/sprites/images/collapsed.gif"/>
<c:set var="minusIcon" value="/sprites/images/expanded.gif"/>
...
<rich:dataTable id="bookList_dt" [...]>
<rich:column>
    <h:graphicImage id="expand" value="/images/expanded.gif" onclick="toggleDetails(this);"/>
</rich:column>
 <rich:column>
  <f:facet name="header">ID</f:facet>
  <h:outputText value="#{_item.bookId}"/>
 </rich:column>
[...]
 <rich:subTable value="#{_item.relatedVersions}  var="_relatedItem" id="relatedVersionsList">
  <rich:column>
   <f:facet name="header">ID</f:facet>
   <h:outputText value="#{_relatedItem.bookId}"/>
  </rich:column>
[...]
 </rich:subTable>
</rich:dataTable>

そして、これまでの私のJavaScript...

function toggleDetails(image) {
    var detailsId = image.id.substring(0, image.id.lastIndexOf(':')) + ':relatedVersionsList';
    var details = document.getElementById(detailsId);
    if (details.style.display == 'none') {
        details.style.display = 'block';
        image.src = '#{minusIcon}';
    } else {
        details.style.display = 'none';
        image.src = '#{plusIcon}';
    }

現在、詳細がnullであることを示すエラーが表示されます

編集:サブテーブルの HtmlSubTable クラスを使用するとうまくいくと聞いたことがありますが、その使用例は見当たりません。誰かアイデアはありますか?

4

1 に答える 1