2012-05-01 10 views
1

更新されたプロパティを持つMy Managed Beanで行をオブジェクトとして取得したいとします。 PrimeFacesのショーケースの例であるDataTable - InCell Editingを使用しました。私はデータベースを更新するために編集された値を取得する方法を理解していません。どうすればこれを達成できますか?DataTable - InCell EditingマネージドBeanで編集したオブジェクトの値を取得する方法

答えて

9

保存ボタンを同じフォームに追加するだけです。例えば。

<p:commandButton value="Save" action="#{bean.save}" /> 

public void save() { 
    someService.save(someList); 
} 

それとも、あなたはすべての個々の行編集イベントに保存を実行したい場合は、その後、<p:dataTable><p:ajax event="rowEdit">を追加します。例えば。

public void save(RowEditEvent event) { 
    someService.save((SomeItem) event.getObject()); 
} 
+0

こんにちはと

<p:dataTable ...> ... <p:column> <p:rowEditor /> </p:column> <p:ajax event="rowEdit" listener="#{bean.save}" /> </p:dataTable> 

、私は同じことをしようとしたことで発生させたExceptionました:javax.el.MethodNotFoundExceptionを:メソッドが見つかりません:[email protected] (org.primefaces.event.RowEditEvent)マネージドBeanのMy Saveメソッドが下に貼り付けられます。public void save(RowEditEvent event){ \t \t setSelectedSubStudyPlan((StudyplanCategory)event.getObject()); \t \t System.out.println( "Hello ............" + selectedSubStudyPlan.getName()); \t} RowEditイベントのタイプがorg.primefaces.event.RowEditEventであるかどうかを確認してください – user1281029

+0

Javaは大文字と小文字を区別します。 「保存」は「保存」と同じではありません。 – BalusC

+0

申し訳ありません、現在、正常に動作しています。ありがとうございます。 – user1281029

関連する問題