[ 
http://issues.apache.org/jira/browse/TOMAHAWK-764?page=comments#action_12446357 
] 
            
Martin Marinschek commented on TOMAHAWK-764:
--------------------------------------------

I don't see how immediate=true would change anything here.

Ok, I've gone with your suggestion and I am updating the value-binding - but in 
the data-scroller, and not in the data-table. This minimizes the impact of the 
change to where it's relevant. Fix is in head.

    protected void setFirst(UIData uiData, int value) {
        //there might be special cases where the first-property of the 
data-table
        //is bound to a backing bean. If this happens, the user probably wants
        //the data-scroller to update this backing-bean value - if not, you can 
always
        //override this method in a subclass.
        if(uiData.getValueBinding("first")!=null)
        {
            ValueBinding vb = uiData.getValueBinding("first");
            vb.setValue(getFacesContext(),new Integer(value));
        }
        uiData.setFirst(value);
    }

regards,

Martin

> ValueBinding lost for first attribute
> -------------------------------------
>
>                 Key: TOMAHAWK-764
>                 URL: http://issues.apache.org/jira/browse/TOMAHAWK-764
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: Extended Datatable
>    Affects Versions: 1.1.4-SNAPSHOT, 1.1.3
>         Environment: myFaces core1.1.4
> tomahawk 1.1.4 Snapshot
>            Reporter: Michael Heinen
>             Fix For: 1.1.5-SNAPSHOT
>
>
> There is a major bug using the t:datatable in conjunction with the 
> t:datascroller and a valueBinding for the first attribute.
> The HtmlDataScroller erases this value binding due to the fact, that it calls 
> setFirst with an int in the broadcast method.
> If the page is then reloaded via ajax, then first contains a pagenumber 
> instead of the valuebinding.
> Patch for setFirst:
>     public void setFirst(int first)
>     {
>       ValueBinding vb = getValueBinding("first");
>       if (vb != null)
>       {
>         //do nothing and keep the valueBinding
>         return;
>       }
>       else
>         if (_preservedDataModel != null)
>         {
>             //Also change the currently restored DataModel attribute
>             _preservedDataModel.setFirst(first);
>         }
>         super.setFirst(first);
>     }   
> see this threads:
> http://marc.theaimsgroup.com/?l=myfaces-user&m=116211813709147&w=2
> http://marc.theaimsgroup.com/?l=myfaces-user&m=114529361608223&w=2
> Michael

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to