Hi there,
Thanks for writing back - both you and Sandeep.
First off - I do believe the partial trigger is being found - because if I use
the notation "triggername" - I get a warning that I am using deprecated syntax
- (I am using Myfaces 2.0, Trinidad 2.0) - but it is only a WARNING. I also
get "Trigger not found" if I use something wrong like ::::triggername. But.. I
get no warnings with "::triggername" - but in all of the combinations I have
used, I haven't gotten the table to update.
My wprolelist is a vector - and is Session scoped I believe.
I have tried going after this programmatically - binding the table object (I
THINK!).. and having this code:
public void addAction(ActionEvent event) {
wprolelist.add(new RoleList("test person", "True",
"True", "True"));
UIXTable table = getTable();
RequestContext.getCurrentInstance().addPartialTarget(table);
RequestContext.getCurrentInstance().partialUpdateNotify(table);
FacesContext.getCurrentInstance().renderResponse();
}
public void setTable(UIXTable table) { _table = table; }
public UIXTable getTable() { return _table; }
private UIXTable _table;
But it hasn't worked either. I can try the hack you mentioned Walter - and
part of me wonders if I somehow need to be updating a different layer? I know
that Trinidad tables use a model - and maybe somehow I am just updating the raw
data behind the model - but - to get a PPR/AJAX type update - I have to poke
the MODEL itself?
Anyway.. I am still working on it.
Latest page snippet is this:
1. TABLEDEF (I hope I am doing this binding right...)
<tr:table id="workplanroleprivs" rowSelection="single"
value="#{createworkplan.wprolelist}" var="row" width = "800"
styleClass="order-table"
partialTriggers="addbutton"
binding="#{createworkplan.table}"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row"
2. Button to update Table (not part of table tag...)
<tr:commandButton text="Add" id="addbutton" partialSubmit="true"
actionListener="#{createworkplan.addAction}" />
3. Latest addAction is above...
Status: No errors that I can see - but still the add button does nothing :)...
though when I do a full page refresh, of course things are fine because my
vector gets updated...
4. Oh.. and I am using a session page - @SessionScoped in the beginning of the
Java.
Thanks for any hints...I am willing to believe that the table needs to be
nudged to update programmatically, because the Trinidad documentation DOES say
that if you are trying to do a PPR update of a table row from any place OTHER
than "that row" (i.e. not calling something while IN that row) - you need to
force the update programmatically. BUT.. I would imagine that this should
work - people must have inline tables that need to get updated without a full
page update.
It must just be me!!!
THANKS!
Catherine
-----Original Message-----
From: Walter Mourão [mailto:[email protected]]
Sent: Thursday, April 28, 2011 7:02 AM
To: MyFaces Discussion
Subject: Re: Do Trinidad Tables update with new rows in PartialSubmit if a
CommandButton outside table does the adding of rows?
It should work but... I had some issues regarding the table updates.
What is the scope of 'wprolelist' ?
In some cases I had to use the following method to 'force' the update, since
the value attribute hasn't changed really changed (the list continues the
same).
private void updateTableValue(RequestContext requestContext, UIComponent
viewRoot, String id, Object value)
{
UIComponent component =
ComponentUtils.findRelativeComponent(viewRoot, id);
if(component instanceof UIXIterator)//just in case the view was
changed
{
((UIXIterator) component).setValue(value);
}
}
But I think it is a hack... :-)
Cheers,
Walter Mourão
http://waltermourao.com.br
http://arcadian.com.br
http://oriens.com.br
On Tue, Apr 26, 2011 at 3:31 PM, Catherine Rocchio <[email protected]>wrote:
> Hi there,
>
>
>
> I am trying to achieve a Partial Submit update of a Trinidad Table upon
> submit of a Command Button (called "Add Row"). The bean behind the table
> is
> definitely getting updated because when I do an overall page refresh, I see
> my new rows getting added - but I can't seem to get the table to refresh on
> its own with the partialTriggers on it.
>
>
>
> So.. I guess my question is - should something like this work? Or.. do
> tables need to be programmatically poked for partial submits? This seems
> pretty basic - but - it just isn't working for me. I guess I will feel
> better if I know it SHOULD work - and I will keep trying.
>
>
>
> I am using Trinidad 2 and Myfaces 2.
>
>
>
> Sorry!!!!
>
>
>
> Thanks for help!
>
> Catherine
>
>
>
> <tr:commandButton text="Add" partialSubmit="true" id="test"
> actionListener="#{createworkplan.addAction}" />
>
>
>
> My addAction is just boring - but adds a row to a vector which is behind
> the
> table.
>
>
>
> public void addAction(ActionEvent event) {
>
>
>
> wprolelist.add(new RoleList("test person", "True",
> "True", "True"));
>
> }
>
>
>
> And my table has the specification of the partialTrigger.
>
> <tr:table id="workplanroleprivs" rowSelection="single"
> value="#{createworkplan.wprolelist}" var="row" width = "800"
>
> styleClass="order-table"
>
> partialTriggers="::test"
>
> headerClass="order-table-header"
>
> rowClasses="order-table-odd-row,order-table-even-row"
>
> >
>
>
>
>
>
>
>
>