Hello,
I have a JSF page that allows one of the dataTable columns to be updated. 
However the selected row update to certain elements of a row doesn't seem to 
come through in the DataModelSelection. Is the DataModel not updatable? I would 
imagine it would be - however I always get the old value back in my session 
bean. 

Here's how the JSF page looks:

  | <h:form id="taskedit">
  | <a:log/>
  |    <rich:panel>
  |     <h1>Your Weekly Tasks:</h1>
  |     <h:outputText value="No tasks added for this week" 
rendered="#{weeklyTasks.rowCount==0}"/>
  |     <rich:dataTable value="#{weeklyTasks}"                                  
                                                                                
                                                
  |                                     var="wtask" 
rendered="#{weeklyTasks.rowCount>0}"
  |                                     
onRowMouseOver="this.style.backgroundColor='#E0E0E0'"
  |                                     
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
  |             <a:support event="onRowDblClick" action="#{report.updateTask}" 
reRender="taskedit"/>
  |             <rich:column rendered="#{not report.taskEditable}">
  |             <f:facet name="header">Assigned Task</f:facet>
  |                     <h:outputText value="#{wtask.comments}"/>
  |             </rich:column>                          
  |             <rich:column rendered="#{report.taskEditable}">
  |             <f:facet name="header">Assigned Task</f:facet>
  |                     <h:inputTextarea rows="5" cols="80" 
value="#{wtask.comments}"/>
  |             </rich:column>
  |         <rich:column>
  |                <f:facet name="header">action</f:facet>                  
  |             <s:button action="#{report.saveTask}" value="Save Task" />
  |         </rich:column>                              
  |         <rich:column>
  |                <f:facet name="header">action</f:facet>                  
  |             <s:button action="#{report.removeTask}" value="Remove Task" />
  |         </rich:column>
  |     </rich:dataTable>
  |    </rich:panel>
  | </h:form> 
  | 
Here's how the session bean looks:

  | @Stateful
  | @Name("report")
  | @Scope(ScopeType.SESSION)
  | public class ReportBean implements Report, Serializable
  | {
  |     private static final long serialVersionUID = 8545529442081579216L;
  | 
  |     @PersistenceContext(type = PersistenceContextType.EXTENDED)
  |     EntityManager entityMgr;
  | 
  |     @In
  |     User user;
  | 
  |     @DataModel
  |     List<TaskAssignment> weeklyTasks;
  | 
  |     @DataModelSelection
  |     private TaskAssignment selectedTask;
  | 
  |      .............
  | 
  |     @Factory("weeklyTasks")
  |     public void showTasks()
  |     {
  |         weeklyTasks = entityMgr
  |                 .createQuery(......).setParameter(..).getResultList();
  |     }
  | 
  |     // Here's the method I expect to get the updated comments
  |     public void saveTask()
  |     {
  |         System.out.println( selectedTask.getComments() );
  |         .............
  |     }
  | 
On a double click on a row on the dataTable, the comments field becomes 
editable, however the submit and corresponding invocation of saveTask does not 
give me the latest edited value.

Is there something I am missing here in terms of how you capture an edited row 
value? 

Any help is appreciated.
Thanks
Amit Karandikar


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4060635#4060635

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4060635
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to