Re: Do Trinidad Tables update with new rows in PartialSubmit if a CommandButton outside table does the adding of rows?
Catherine, If the table has partialTriggers pointing to the command button, it should work just fine. I would check two things: 1) is your partial trigger Id set correctly, i.e do you need to do something like stepping out of the naming container, etc.?; 2) do you see table's HTML included in partial response when you use HTTP sniffing tools like Firebug? Max On 4/26/2011 2:31 PM, Catherine Rocchio 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
Do Trinidad Tables update with new rows in PartialSubmit if a CommandButton outside table does the adding of rows?
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
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 crocc...@comcast.netwrote: 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
RE: Do Trinidad Tables update with new rows in PartialSubmit if a CommandButton outside table does the adding of rows?
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:walter.mou...@gmail.com] 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 crocc...@comcast.netwrote: 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
Re: Do Trinidad Tables update with new rows in PartialSubmit if a CommandButton outside table does the adding of rows?
I would imagine that this should work - people must have inline tables that need to get updated without a full page update. It works. I have lots of tables being updated with PPR. I will send you a sample later (not with me right now). Walter Mourão http://waltermourao.com.br http://arcadian.com.br http://oriens.com.br On Thu, Apr 28, 2011 at 9:37 AM, Catherine Rocchio crocc...@gp-informatics.com wrote: 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:walter.mou...@gmail.com] 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 crocc...@comcast.net 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
Do Trinidad Tables update with new rows in PartialSubmit if a CommandButton outside table does the adding of rows?
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
RE: Do Trinidad Tables update with new rows in PartialSubmit if a CommandButton outside table does the adding of rows?
You may want to try one or both of following. a) The partialTriggers=::test can be changed to partialTriggers=test if both the button and the table are defined on the same page. b) You could add following code to your addAction method after the current code that adds a row to the list. Here the attribute table refers to the UIXTable component associated with your table. You need to add binding attribute to your tr:table tag and bind it to an instance of UIXTable. RequestContext.getCurrentInstance().addPartialTarget(table); RequestContext.getCurrentInstance().partialUpdateNotify(table); FacesContext.getCurrentInstance().renderResponse(); ~Sandeep From: Catherine Rocchio [mailto:crocc...@gp-informatics.com] Sent: Wed 4/27/2011 3:28 AM To: users@myfaces.apache.org Subject: Do Trinidad Tables update with new rows in PartialSubmit if a CommandButton outside table does the adding of rows? 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