Does it work with preserve datamodel = false? I wonder if that might
be the problem... It's supposed to work either way of course.
sean
On 6/5/05, Farooq Mahmood <[EMAIL PROTECTED]> wrote:
> Hi,
> I am new to jsf and I m using my faces. I m getting
> problem regarding "x:dataTable" and
> "x:updateActionListener". I am actually I have seen
> some posts regarding "x:dataTable" and
> "x:updateActionListener" but I donot able to solve my
> problem. Plz chk this problem and tell me where I m
> doing wrong.
> The problem is that when I click on the link instead
> of send that particular row (or taskId) it sends the
> whole List and then it iterate the whole list and
> display the list row values on the next page. Here is
> the code:
>
> inbox.jsp
>
> <x:dataTable id="data"
> styleClass="scrollerTable"
>
> headerClass="standardTable_Header"
>
> footerClass="standardTable_Header"
>
> rowClasses="standardTable_Row1,standardTable_Row2"
>
> columnClasses="standardTable_Column,standardTable_ColumnCentered,standardTable_Column"
> var="task"
>
> value="#{inboxTaskBean.taskList}"
> preserveDataModel="true"
> rows="10"
> >
>
> <h:column>
> <f:facet name="header">
> <h:outputText
> value="#{messages['label_taskId']}" />
> </f:facet>
> <h:outputText
> value="#{task.taskId}" />
> </h:column>
>
> <h:column>
> <f:facet name="header">
> <h:outputText
> value="#{messages['label_weburi']}" />
> </f:facet>
>
> <x:commandLink action="task"
> immediate="true" >
> <h:outputText
> value="#{task.webFormURI}" />
>
> <x:updateActionListener
> property="#{taskForm.taskId}" value="#{task.taskId}"
> />
> </x:commandLink>
>
> </h:column>
>
> </x:dataTable>
>
>
> TaskForm.java
>
> import javax.faces.context.FacesContext;
>
> public class TaskForm {
>
> private String taskId = null;
> private String webFormURI = null;
>
> public TaskForm(){
> System.out.println("Task Form: " + taskId);
> }
>
> public String getTaskId() {
> return taskId;
> }
>
> public void setTaskId(String taskId) {
>
> System.out.println("I m in setTaskId : " + taskId);
> if(taskId != null){
> InboxTask inboxTask = getList().getTask(taskId);
> System.out.println("Complete Task : " +
> inboxTask.toString());
> if(inboxTask != null){
> insId = inboxTask.getInsId();
> webFormURI = inboxTask.getWebFormURI();
> }
> }
> }
>
> public String getWebFormURI() {
> return webFormURI;
> }
>
> public void setWebFormURI(String webFormURI) {
> this.webFormURI = webFormURI;
> }
>
> private SelectTaskBean getList()
> {
> Object obj =
> FacesContext.getCurrentInstance().getApplication().getVariableResolver()
>
> .resolveVariable(FacesContext.getCurrentInstance(),
> "inboxTaskBean");
> return (SelectTaskBean) obj;
> }
> }
>
> taskForm.jsp
>
>
> <f:facet name="body">
> <h:panelGroup>
> <x:saveState
> value="#{taskForm.taskId}" />
>
> <h:panelGrid columns="1"
> styleClass="countryFormTable"
>
> columnClasses="countryFormLabels" >
> <h:panelGroup>
> <h:outputText
> value="#{taskForm.taskId}" />
> <h:outputText
> value="#{taskForm.webFormURI}" />
>
> </h:panelGroup>
>
> </h:panelGrid>
> </h:panelGroup>
> </f:facet>
>
>
> Regards,
> Farooq Mahmood
> [EMAIL PROTECTED]
>
>