myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Kienenberger <mkien...@gmail.com>
Subject Re: Tomahawk Partial rerender datatable column
Date Fri, 26 Oct 2012 16:49:41 GMT
Yeah, you really need to upgrade to a newer version.   I know
richfaces has a lot of dependencies, but couldn't you install it in
your project and only use the a4j tags?

Here's one last thing you might try.

Chances are that the problem is that the old a4j doesn't understand
table id formats.

Unfortunately, I've found that ajax updates require a real component
with an identical id to be found server-side.

Maybe you could hardcode the specific id to your current table item.

You could try something like :form":dataTable[#{n}].textVehicleName"
where n is the current row id number (t:dataTable rowIndexVar="n")

Not sure if the old a4j understands a leading ":" as an absolute tag name.

It's also possible that it's looking for the id the this format:


On Fri, Oct 26, 2012 at 12:35 PM, daniel ccss <danielccss2@gmail.com> wrote:
> Thanks Mike, yes that is what  I have, it was a copy/paste error:
>
> *<a4j:support event="onchange" reRender="textVehicleName"/>*
>
> Yes I have done that with richfaces is very simple, but this project is
> old, and right now I don´t have time to migrate, so.... There is not a way
> for accomplish this, update a single column of a t:datatable with ajax,
> using JSF 1.2 and Tomahawk??  I have to refresh the hoooole datatable???
>
> Hope someone has done this, thanks!
>
>
>
> On Fri, Oct 26, 2012 at 10:29 AM, Mike Kienenberger <mkienenb@gmail.com>wrote:
>
>> I'm not sure why you had "*textVehicleName*"
>>
>> If it can work, it should simply be
>>
>> <a4j:support event="onchange" reRender="textVehicleName"/>
>>
>> If that doesn't work, it probably can't be done with a4j and JSF 1.2.
>>  I'm fairly certain I did something similar back when I was using the
>> Richfaces 3.3 a4j and JSF 1.2.
>>
>>
>> On Fri, Oct 26, 2012 at 12:20 PM, daniel ccss <danielccss2@gmail.com>
>> wrote:
>> > Thanks Leonardo,
>> >
>> > Im not using rich faces, and I'm using tomahawk with JSF 1.2 so f:ajax do
>> > not exists, I will migrate to JSF 2, but right now I cant, so is a way to
>> > accomplish this columna partial update inside a datatable without
>> rendering
>> > the hole t:datatable?
>> >
>> > For ajax we are using: <%@ taglib uri="
>> https://ajax4jsf.dev.java.net/ajax"
>> > prefix="a4j"%>
>> >
>> > Thanks hope someone knows a way
>> >
>> > P.D: I already erase the a4j:region and it doesn´t work
>> >
>> >
>> > On Fri, Oct 26, 2012 at 9:53 AM, Leonardo Uribe <lu4242@gmail.com>
>> wrote:
>> >
>> >> Hi
>> >>
>> >> I think in this case the problem is related to richfaces. In this page:
>> >>
>> >>
>> >>
>> http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/a4j_region.html
>> >>
>> >> Says this:
>> >>
>> >> "... Starting from RichFaces 3.2.0 the <a4j:region> can be used together
>> >> with iterative components (e.g. <rich:column> or
>> <rich:scrollableDataTable>
>> >>  , etc.). It became possible to re-render a particular row in a table
>> >> without
>> >> updating the whole table and without any additional listeners. ..."
>> >>
>> >> In JSF 2.0, f:ajax works well with tomahawk, and the code between
>> tomahawk
>> >> 1.2 and 2.0 is very similar, so I would assume the limitation is
>> related to
>> >> a4j:region tag.
>> >>
>> >> Maybe write the code without wrap the t:outputText inside a a4j:region
>> >> could
>> >> work.
>> >>
>> >> regards,
>> >>
>> >> Leonardo Uribe
>> >>
>> >> 2012/10/26 daniel ccss <danielccss2@gmail.com>:
>> >> > Thanks Michael,
>> >> >
>> >> > I want to update the outputtext value that is in the same row of the
>> >> > selectBooleanCheckbox inside a datatable, yes in RichFaces is easy
to
>> do
>> >> > this, partial update of the datapage, but I'm using Tomahawk JSF 1.2,
>> and
>> >> > right now we can´t migrate.
>> >> >
>> >> > Yes as a matter of fact I put the region around the outputtext as a
>> test,
>> >> > sorry about that.
>> >> >
>> >> > I don´t want to update the hole datatable, if I rerender the hole
>> >> datatable
>> >> > using this <a4j:support event="onchange" reRender="*data*"/>
it works,
>> >> the
>> >> > value of the outputtext is updated on the change event of the
>> >> > selectBooleanCheckbox because the hole datatable is rerender, but I
>> dont
>> >> > want to rerender the hole datatable, I only want to update the the
>> >> > outputtext that is in the same row of the selectBooleanCheckbox that
>> was
>> >> > checked.
>> >> >
>> >> > Really hope you can help me
>> >> >
>> >> >
>> >> >
>> >> > On Fri, Oct 26, 2012 at 1:07 AM, Michael Heinen <
>> mhn4dev@googlemail.com
>> >> >wrote:
>> >> >
>> >> >> Do you want to update a complete column or a single cell in the
same
>> >> row?
>> >> >> Which versions (MyFaces, Richfaces) do you use?
>> >> >>
>> >> >> Richfaces doesn't like the forceId attribute in many cases. Try
to
>> >> remove
>> >> >> it from the datatable.
>> >> >> And the region around the outputtext with textVehiclename does
not
>> make
>> >> >> any sense.
>> >> >>
>> >> >> Michael
>> >> >>
>> >> >>
>> >> >> Am 26.10.2012 04:23, schrieb daniel ccss:
>> >> >>
>> >> >>> Anybody????
>> >> >>>
>> >> >>> On Thu, Oct 25, 2012 at 8:54 AM, daniel ccss <danielccss2@gmail.com
>> >
>> >> >>> wrote:
>> >> >>>
>> >> >>>  Hi, hope you can help me, Is there a way of update only one
column
>> of
>> >> the
>> >> >>>> datatable using a4j, not updating all the datatable.
>> >> >>>>
>> >> >>>> Im Using myfaces (Tomahawk)
>> >> >>>>
>> >> >>>>
>> >> >>>> This is what I have, a <h:selectBooleanCheckbox that
when is
>> clicked
>> >> the
>> >> >>>> onchange event is fire and rerender an <h:outputText
>> >> >>>>
>> >> >>>>
>> >> >>>>   <t:dataTable id="data" forceId="true"
>> >> >>>> binding="#{VehicleBean.**dataTableVehicle}"
>> >> >>>>                           var="vehicleTable"
>> >> >>>> value="#{VehicleBean.**vehicleList}" preserveDataModel="false"
>> >> >>>>  rows="10">
>> >> >>>>                <t:column>
>> >> >>>>                       <a4j:region>
>> >> >>>>                          <h:selectBooleanCheckbox .....>
>> >> >>>>                            <a4j:support event="onchange"
>> reRender="*
>> >> >>>> textVehicleName*"/>
>> >> >>>>
>> >> >>>>                          </h:selectBooleanCheckbox>
>> >> >>>>                      </a4j:region>
>> >> >>>>             </t:column>
>> >> >>>>
>> >> >>>>            <t:column>
>> >> >>>>                        <a4j:region>
>> >> >>>>                              <t:outputText id="*textVehicleName*"
>> >> >>>>
>> >> >>>> value="#{vehicleTable.name}"/>
>> >> >>>>                        </a4j:region>
>> >> >>>>          </t:column>
>> >> >>>> </t:dataTable>
>> >> >>>>
>> >> >>>> That code doesn´t work, If I put the outputText outside
the
>> datatable
>> >> or
>> >> >>>> if i refresh al the datatable it works, but I don´t want
to update
>> all
>> >> >>>> the
>> >> >>>> datatable, I want a partial rerender of only one column,
hope you
>> can
>> >> >>>> help
>> >> >>>> me thanks!!!
>> >> >>>>
>> >> >>>>
>> >> >>
>> >>
>>

Mime
View raw message