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