[jboss-user] [JBoss Seam] - Getting an updated data model selection
amitdk
do-not-reply at jboss.com
Thu Jul 5 00:53:02 EDT 2007
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
More information about the jboss-user
mailing list