私はprimefacesを初めて使用し、p:draggableコンポーネントでこの問題に遭遇しました。これは、p:draggable コンポーネントを使用した私の Web サイトで、primefaces ショーケースとまったく同じです。
<p:fieldset legend="PreparedData">
<p:dataGrid id="currentData" columns="1" var="res" value="#{SomeBean.data}">
<p:column>
<p:panel id="draggedres" header="#{res.name}">
<h:panelGrid columns="1">
<h:outputText value="#{res.name}"/>
</h:panelGrid>
</p:panel>
<p:draggable for="draggedres" />
</p:column>
</p:dataGrid>
</p:fieldset>
<p:commandButton value="Add" actionListener="#{SomeBean.addItem}" update="currentData" />
私の豆 SomeBean があります。
public class SomeBean{
private List<SomeObjects> data = new ArrayList<SomeObjects>();
public void addItem(){
data.add(new SomeObjects("someName"));
}
//GETTERS SETTERS
}
今問題は、そのリストに新しいデータを追加すると表示されますが、ドラッグできないことです。これらのデータをドラッグ可能にする唯一の方法は、それらをその Bean のコンストラクターに設定することです。私がどこで間違いを犯したか知っている人はいますか?私はすでに Primefaces のマニュアルを読みましたが、それについては何もありません。そこでは、データはコンストラクターからのみ設定されると黙って想定しています。回答ありがとうございます。