You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by IK...@pershing.com on 2010/03/04 13:04:48 UTC

[Trinidad] Is it possible to unselect row in nested tr:table with Trinidad 1.2.10 ? Is there a way to get around tr:table using fly-weight pattern for CoreTable passed in SelectionEvent to selectionListener method ?

Hello folks,

I have a nested (via using detailStamp faced) tr:table that is 2 levels 
deep (outer and inner).
The rows of inner table is single row selectable (via 
rowSelection="single"), while outer table is not selectable.

Let's say I have 2 rows in outer table. Hence, I have 2 inner tables in 
the outer table.
Let's say these 2 outer rows are expanded and display their inner tables.
Then user selects a row in 1st inner table.
When user selects a row in the 2nd inner table, I'm trying to unselect the 
row selected in the 1st one.
But not able to do it.

How can this be done ?

Regards,
-- ilker

Information Classification: Public

******************************************************
IMPORTANT: Any information contained in this communication is intended for the use of the named individual or entity. All information contained in this communication is not intended or construed as an offer, solicitation, or a recommendation to purchase any security. Advice, suggestions or views presented in this communication are not necessarily those of Pershing LLC nor do they warrant a complete or accurate statement. 

If you are not an intended party to this communication, please notify the sender and delete/destroy any and all copies of this communication. Unintended recipients shall not review, reproduce, disseminate nor disclose any information contained in this communication. Pershing LLC reserves the right to monitor and retain all incoming and outgoing communications as permitted by applicable law.

Email communications may contain viruses or other defects. Pershing LLC does not accept liability nor does it warrant that email communications are virus or defect free.
******************************************************

Re: [Trinidad] Is it possible to unselect row in nested tr:table with Trinidad 1.2.10 ? Is there a way to get around tr:table using fly-weight pattern for CoreTable passed in SelectionEvent to selectionListener method ?

Posted by Walter Mourão <wa...@gmail.com>.
>
> Thank you for your reply.
> But as I was mentioning, the outer table is not selectable (meaning its
> rowSelection="none", which is default).
> Only the inner table is selectable.
>
> Hence, when 2nd inner table is selected, I want to be able to clear the
> selection of the 1st inner table.
>

Sorry, I misunderstood the tables relationship.

The client ids of inner components in a table are created prefixing the
table id+":"+rownum+":"+component id. Add id="firstTable" to the first table
and id="secondTable" to the second table. In the selection listener, get the
client id of the selected table and calculate the client id of the other
table. With the client id you can get (with ViewRoot.findComponent) the
CoreTable instance of the other table to clear its selection.

Regards,

Walter Mourão
http://waltermourao.com.br
http://arcadian.com.br
http://oriens.com.br



On Thu, Mar 4, 2010 at 2:11 PM, <IK...@pershing.com> wrote:

> Hello Walter,
>
> Thank you for your reply.
> But as I was mentioning, the outer table is not selectable (meaning its
> rowSelection="none", which is default).
> Only the inner table is selectable.
>
> Hence, when 2nd inner table is selected, I want to be able to clear the
> selection of the 1st inner table.
>
> The question becomes how will the inner table row be able to do that via
> its 'selectionListener'.
> I know the basic mechanism is to use CoreTable that one can extract from
> SelectionEvent (as shown below).
>
> But the problem is, the coreTable value that I get for 1st and 2nd inner
> table seems to be the same value.
>
>
> CODE SNIPPETS:
> =================
> UI code as xhtml;
> <tr:table var="outerRow" value="#{mainMB.outerTableRows}"
> autoSubmit="true" immediate="true">
>   <f:facet name="detailStamp">
>        <tr:table var="innerRow" value="#{outerRow.innerTableRows}"
>  selectionListener="#{innerRow.innerTableSelectionListener}"
>                         rowSelection="single"
>                         autoSubmit="true"
>                         immediate="true">
>                         <!-- some tr:column definitions -->
>      </tr:table>
>   </f:facet>
> </tr:table>
>
>
>
>
>
> The MainMB.java code snippet;
> List<OuterTableMB> outerTableRows;  // this is initialized somehow
>
>
> The OuterTableMB.java code snippet
> List<InnerTableMB> innerTableRows;  // this is initialized somehow and
> 'this' pointer is passed to them.
>
>
> The InnerTableMB.java code snippet;
>
> OuterTablesMB outerTableRowPtr = ....   // this is set by outer table row
> whenever an inner table row is created
> CoreTable coreTable = null;
>
> public void innerTableSelectionListener(SelectionEvent _se){
>  CoreTable __coreTableNew = (CoreTable) _se.getComponent();
>   if(coreTable == null || (__coreTableNew != null &&
> __coreTableNew!=coreTable)) coreTable = __coreTableNew;
>  // loop over the inner table rows that outer table row had created
>  for(InnerTableMB __innerTableRow :
> outerTableRowPtr.getInnerTableRows()){
>     if(_innerTableRow != this &&
> coreTable!=null)__innerTableRow.unSelectRows();
>  }
> }
>
> public void unSelectRows(){
>   RowKeySet __selectedRowKeySet = coreTable.getSelectedRowKeys();
>   __selectedRowKeySet.removeAll();
>   coreTable.setRowIndex(-1);
> }
>
>
>
> The problem is, the CoreTable that I extract from SelectionEvent is the
> same for both 1st and 2nd inner table.
>
> Regards,
> -- ilker
>
>
>
>
> From:
> Walter Mourão <wa...@gmail.com>
> To:
> MyFaces Discussion <us...@myfaces.apache.org>
> Date:
> 03/04/2010 07:55 AM
> Subject:
> Re: [Trinidad] Is it possible to unselect row in nested tr:table with
> Trinidad 1.2.10 ? Is there a way to get around tr:table using fly-weight
> pattern for CoreTable passed in SelectionEvent to selectionListener method
> ?
>
>
>
> Hi Ilker,
> Add a selectionListener to the inner table. When the selectionListener is
> fired, clear the outer table selection.
>
> Regards,
>
> Walter Mourão
> http://waltermourao.com.br
> http://arcadian.com.br
> http://oriens.com.br
>
>
>
> On Thu, Mar 4, 2010 at 9:04 AM, <IK...@pershing.com> wrote:
>
> > Hello folks,
> >
> > I have a nested (via using detailStamp faced) tr:table that is 2 levels
> > deep (outer and inner).
> > The rows of inner table is single row selectable (via
> > rowSelection="single"), while outer table is not selectable.
> >
> > Let's say I have 2 rows in outer table. Hence, I have 2 inner tables in
> > the outer table.
> > Let's say these 2 outer rows are expanded and display their inner
> tables.
> > Then user selects a row in 1st inner table.
> > When user selects a row in the 2nd inner table, I'm trying to unselect
> the
> > row selected in the 1st one.
> > But not able to do it.
> >
> > How can this be done ?
> >
> > Regards,
> > -- ilker
> >
> > Information Classification: Public
> >
> > ******************************************************
> > IMPORTANT: Any information contained in this communication is intended
> for
> > the use of the named individual or entity. All information contained in
> this
> > communication is not intended or construed as an offer, solicitation, or
> a
> > recommendation to purchase any security. Advice, suggestions or views
> > presented in this communication are not necessarily those of Pershing
> LLC
> > nor do they warrant a complete or accurate statement.
> >
> > If you are not an intended party to this communication, please notify
> the
> > sender and delete/destroy any and all copies of this communication.
> > Unintended recipients shall not review, reproduce, disseminate nor
> disclose
> > any information contained in this communication. Pershing LLC reserves
> the
> > right to monitor and retain all incoming and outgoing communications as
> > permitted by applicable law.
> >
> > Email communications may contain viruses or other defects. Pershing LLC
> > does not accept liability nor does it warrant that email communications
> are
> > virus or defect free.
> > ******************************************************
>
>
>
>
> Information Classification: Public
>
> ******************************************************
> IMPORTANT: Any information contained in this communication is intended for
> the use of the named individual or entity. All information contained in this
> communication is not intended or construed as an offer, solicitation, or a
> recommendation to purchase any security. Advice, suggestions or views
> presented in this communication are not necessarily those of Pershing LLC
> nor do they warrant a complete or accurate statement.
>
> If you are not an intended party to this communication, please notify the
> sender and delete/destroy any and all copies of this communication.
> Unintended recipients shall not review, reproduce, disseminate nor disclose
> any information contained in this communication. Pershing LLC reserves the
> right to monitor and retain all incoming and outgoing communications as
> permitted by applicable law.
>
> Email communications may contain viruses or other defects. Pershing LLC
> does not accept liability nor does it warrant that email communications are
> virus or defect free.
> ******************************************************
>

Re: [Trinidad] Is it possible to unselect row in nested tr:table with Trinidad 1.2.10 ? Is there a way to get around tr:table using fly-weight pattern for CoreTable passed in SelectionEvent to selectionListener method ?

Posted by IK...@pershing.com.
Hello Walter,

Thank you for your reply. 
But as I was mentioning, the outer table is not selectable (meaning its 
rowSelection="none", which is default).
Only the inner table is selectable.

Hence, when 2nd inner table is selected, I want to be able to clear the 
selection of the 1st inner table. 

The question becomes how will the inner table row be able to do that via 
its 'selectionListener'.
I know the basic mechanism is to use CoreTable that one can extract from 
SelectionEvent (as shown below).

But the problem is, the coreTable value that I get for 1st and 2nd inner 
table seems to be the same value.


CODE SNIPPETS:
=================
UI code as xhtml;
<tr:table var="outerRow" value="#{mainMB.outerTableRows}" 
autoSubmit="true" immediate="true">
   <f:facet name="detailStamp">
        <tr:table var="innerRow" value="#{outerRow.innerTableRows}" 
 selectionListener="#{innerRow.innerTableSelectionListener}"
                         rowSelection="single"
                         autoSubmit="true"
                         immediate="true">
                         <!-- some tr:column definitions -->
      </tr:table>
   </f:facet>
</tr:table>





The MainMB.java code snippet;
List<OuterTableMB> outerTableRows;  // this is initialized somehow


The OuterTableMB.java code snippet
List<InnerTableMB> innerTableRows;  // this is initialized somehow and 
'this' pointer is passed to them.


The InnerTableMB.java code snippet;

OuterTablesMB outerTableRowPtr = ....   // this is set by outer table row 
whenever an inner table row is created
CoreTable coreTable = null;

public void innerTableSelectionListener(SelectionEvent _se){
  CoreTable __coreTableNew = (CoreTable) _se.getComponent();
   if(coreTable == null || (__coreTableNew != null && 
__coreTableNew!=coreTable)) coreTable = __coreTableNew;
  // loop over the inner table rows that outer table row had created
  for(InnerTableMB __innerTableRow : 
outerTableRowPtr.getInnerTableRows()){
     if(_innerTableRow != this && 
coreTable!=null)__innerTableRow.unSelectRows();
  }
}

public void unSelectRows(){
   RowKeySet __selectedRowKeySet = coreTable.getSelectedRowKeys();
   __selectedRowKeySet.removeAll();
   coreTable.setRowIndex(-1);
}



The problem is, the CoreTable that I extract from SelectionEvent is the 
same for both 1st and 2nd inner table.

Regards,
-- ilker




From:
Walter Mourão <wa...@gmail.com>
To:
MyFaces Discussion <us...@myfaces.apache.org>
Date:
03/04/2010 07:55 AM
Subject:
Re: [Trinidad] Is it possible to unselect row in nested tr:table with 
Trinidad 1.2.10 ? Is there a way to get around tr:table using fly-weight 
pattern for CoreTable passed in SelectionEvent to selectionListener method 
?



Hi Ilker,
Add a selectionListener to the inner table. When the selectionListener is
fired, clear the outer table selection.

Regards,

Walter Mourão
http://waltermourao.com.br
http://arcadian.com.br
http://oriens.com.br



On Thu, Mar 4, 2010 at 9:04 AM, <IK...@pershing.com> wrote:

> Hello folks,
>
> I have a nested (via using detailStamp faced) tr:table that is 2 levels
> deep (outer and inner).
> The rows of inner table is single row selectable (via
> rowSelection="single"), while outer table is not selectable.
>
> Let's say I have 2 rows in outer table. Hence, I have 2 inner tables in
> the outer table.
> Let's say these 2 outer rows are expanded and display their inner 
tables.
> Then user selects a row in 1st inner table.
> When user selects a row in the 2nd inner table, I'm trying to unselect 
the
> row selected in the 1st one.
> But not able to do it.
>
> How can this be done ?
>
> Regards,
> -- ilker
>
> Information Classification: Public
>
> ******************************************************
> IMPORTANT: Any information contained in this communication is intended 
for
> the use of the named individual or entity. All information contained in 
this
> communication is not intended or construed as an offer, solicitation, or 
a
> recommendation to purchase any security. Advice, suggestions or views
> presented in this communication are not necessarily those of Pershing 
LLC
> nor do they warrant a complete or accurate statement.
>
> If you are not an intended party to this communication, please notify 
the
> sender and delete/destroy any and all copies of this communication.
> Unintended recipients shall not review, reproduce, disseminate nor 
disclose
> any information contained in this communication. Pershing LLC reserves 
the
> right to monitor and retain all incoming and outgoing communications as
> permitted by applicable law.
>
> Email communications may contain viruses or other defects. Pershing LLC
> does not accept liability nor does it warrant that email communications 
are
> virus or defect free.
> ******************************************************




Information Classification: Public

******************************************************
IMPORTANT: Any information contained in this communication is intended for the use of the named individual or entity. All information contained in this communication is not intended or construed as an offer, solicitation, or a recommendation to purchase any security. Advice, suggestions or views presented in this communication are not necessarily those of Pershing LLC nor do they warrant a complete or accurate statement. 

If you are not an intended party to this communication, please notify the sender and delete/destroy any and all copies of this communication. Unintended recipients shall not review, reproduce, disseminate nor disclose any information contained in this communication. Pershing LLC reserves the right to monitor and retain all incoming and outgoing communications as permitted by applicable law.

Email communications may contain viruses or other defects. Pershing LLC does not accept liability nor does it warrant that email communications are virus or defect free.
******************************************************

Re: [Trinidad] Is it possible to unselect row in nested tr:table with Trinidad 1.2.10 ? Is there a way to get around tr:table using fly-weight pattern for CoreTable passed in SelectionEvent to selectionListener method ?

Posted by Walter Mourão <wa...@gmail.com>.
Hi Ilker,
Add a selectionListener to the inner table. When the selectionListener is
fired, clear the outer table selection.

Regards,

Walter Mourão
http://waltermourao.com.br
http://arcadian.com.br
http://oriens.com.br



On Thu, Mar 4, 2010 at 9:04 AM, <IK...@pershing.com> wrote:

> Hello folks,
>
> I have a nested (via using detailStamp faced) tr:table that is 2 levels
> deep (outer and inner).
> The rows of inner table is single row selectable (via
> rowSelection="single"), while outer table is not selectable.
>
> Let's say I have 2 rows in outer table. Hence, I have 2 inner tables in
> the outer table.
> Let's say these 2 outer rows are expanded and display their inner tables.
> Then user selects a row in 1st inner table.
> When user selects a row in the 2nd inner table, I'm trying to unselect the
> row selected in the 1st one.
> But not able to do it.
>
> How can this be done ?
>
> Regards,
> -- ilker
>
> Information Classification: Public
>
> ******************************************************
> IMPORTANT: Any information contained in this communication is intended for
> the use of the named individual or entity. All information contained in this
> communication is not intended or construed as an offer, solicitation, or a
> recommendation to purchase any security. Advice, suggestions or views
> presented in this communication are not necessarily those of Pershing LLC
> nor do they warrant a complete or accurate statement.
>
> If you are not an intended party to this communication, please notify the
> sender and delete/destroy any and all copies of this communication.
> Unintended recipients shall not review, reproduce, disseminate nor disclose
> any information contained in this communication. Pershing LLC reserves the
> right to monitor and retain all incoming and outgoing communications as
> permitted by applicable law.
>
> Email communications may contain viruses or other defects. Pershing LLC
> does not accept liability nor does it warrant that email communications are
> virus or defect free.
> ******************************************************