0

私はprimefacesダイアログボックスを使用しています。アイテムのリストがあり、アイテムを選択するたびに、ダイアログ ボックスにそのアイテム名を表示したいと考えています。しかし、これは起こっていません。アイテム名を表示するのではなく、ダイアログに名前がまったく表示されません。以下にコードを掲載しました。

       <h:form>
         <h:dataTable binding="#{table}" value="#{item.itemList}" >
          <h:column>
            <h:link value="#{item.itemList[table.rowIndex]}" outcome="item">
              <f:param name="itemName" value="#{item.itemList[table.rowIndex]}" />
            </h:link>
          </h:column>
          <h:column>
            <p:commandButton action="#{item.setItem(item.itemList[table.rowIndex])}" id="showDialogButton" 
                             type="link" value="Delete" onclick="dlg.show()" />
          </h:column>
        </h:dataTable>
        <br />
        <p:dialog header="Item" widgetVar="dlg" resizable="false">
          <!-- I've also tried Item: #{item.item} -->
          <p>Item: <f:attribute name="contentId" value="#{item.item}"/> </p>
          <p:commandButton id="submitButton" value="Yes" action=
              "#{item.deleteItem}" oncomplete="dlg.hide();">
          </p:commandButton>
          <p:commandButton id="cancelButton" value="Cancel" oncomplete="dlg.hide();" />
        </p:dialog>

      </h:form>

私のゲッターとセッターは、単なる一般的なゲッターとセッターです。

4

1 に答える 1

3

開く前にダイアログを更新するのを忘れました。

<p:commandButton ... update="dialogId" />

ダイアログを開くoncomplete代わりに使用することもお勧めします。onclick

以下も参照してください。

于 2013-07-08T16:05:54.357 に答える