You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by omaji7 <om...@gmail.com> on 2009/12/18 11:11:57 UTC

Re: Trinidad TreeTable

Hi,

My project is build in JSF, Hibernate and Faclets. i m using trinidad
treetable tag to build a tree with multiselection nodes. Now i m facing a
problem to initially selection of the nodes when page is loaded at the first
time. i have tried alot to accomplish this task, but still unable to retain
it. There is an attribute of "selectedRowKeys" in TreeTable which takes the
object of "RowKeySet", but when i am building the tree in my bean, i don't
know the RowKeys generated, so how do i get my desired RowKeys to be
selected in the tree?

i am trying to provide the code below

myTree.xhtml

<tr:treeTable id="testTreeTable"
                                  value="#{RoleManageBean.tree}"
                                  var="node"
                                  rowSelection="multiple"
                                  initiallyExpanded="true"
                                  rowBandingInterval="1"
                                  horizontalGridVisible="true"
                                  verticalGridVisible="true"
                                 
selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
                        <f:facet name="actions">
                            <tr:commandButton id="treeTableSelectButton"
text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
                        </f:facet>
                        <f:facet name="nodeStamp">
                            <tr:column headerText="Name">
                                <tr:outputText value="#{node.name}"/>
                            </tr:column>
                        </f:facet>
                        <f:facet name="pathStamp">
                            <tr:outputText value="#{node.name}"/>
                        </f:facet>
                    </tr:treeTable>


MyBean.java

public class RoleManageBean implements Serializable {

    private TreeModel tree;
    private RowKeySet selectedRowKeys = null;

public TreeModel getTree() throws Exception {
        Application[] applications = dbops.getAllApplications();
        List<Node1> empty1 = Collections.emptyList();
        List<Node1> root1 = new ArrayList<Node1>();
        List<Node1> apps = new ArrayList<Node1>();
        for (Application application : applications) {
            Set<ApplicationPage> appPages =
application.getApplicationPage();
            List<Node1> pages = new ArrayList<Node1>();
            for (ApplicationPage applicationPage : appPages) {
                pages.add(new Node1(applicationPage.getPageName(),
String.valueOf(applicationPage.getPageID()), empty1));
            }
            apps.add(new Node1(application.getApplicationName(),
String.valueOf(application.getHomePage().getPageID()), pages));

        }
        root1.add(new Node1("Applications", "0", apps));
        tree = new ChildPropertyTreeModel(root1, "children");
       
        return tree;
    }

public RowKeySet getSelectedRowKeys() {
        selectedRowKeys = new RowKeySetImpl();
        selectedRowKeys.add(String.valueOf("1,0"));
        System.out.println("called");
        return selectedRowKeys;
    }

    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
        this.selectedRowKeys = selectedRowKeys;
    }


Any guideline will be appriciated. Thanks in Advance

Majid. 

Naresh Bhatia wrote:
> 
> I am trying to learn the Trinidad TreeTable component. I created a
> standalone JSF application and copied the TreeTable example source from
> the demo war, along with other necessary infrastructure. I have the
> TreeTable up and running. The only problem is that the text nodes are
> showing the  html tags around it - for example:
> text:node_0 - the text is not bolded. Any idea what the problem
> might be? I am sure I am missing some sort of configuration.
> 
> Thanks.
> Naresh
> 
> 

-- 
View this message in context: http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: Trinidad TreeTable

Posted by Jakob Korherr <ja...@gmail.com>.
Hi Majid,

Great! You're welcome!

Please always write to the mailing list, if you have any questions related
to myfaces. However, I am watching the mailing list, so I will answer your
questions, if I am able to.

Regards,
Jakob

2009/12/18 omaji7 <om...@gmail.com>

>
> Hi,
>
> Thanks Jakob, i got it. Now i think, i will be able to initially select my
> required nodes in the tree. Can i get help anytime i need from u?
>
> Thanks :-)
> Majid
>
>
> Jakob Korherr wrote:
> >
> > Hi,
> >
> > Try to create the TreeModel only once by multiple calls to getTree(), for
> > example
> >
> > private TreeModel tree;
> >
> > private TreeModel getTree()
> > {
> >     if (tree == null) {
> >         // create tree
> >     }
> >     return tree;
> > }
> >
> > I did that in my example case.
> >
> > Regards,
> > Jakob
> >
> > 2009/12/18 omaji7 <om...@gmail.com>
> >
> >>
> >> Hi
> >> Jakob, i have done it as u said, but the problem is, it get null at this
> >> condition in the getSelectedRowKeys() method.
> >>
> >> if (getTree().getRowKey() != null) {
> >>                System.out.println("called 4");
> >>                List<Integer> l = (List<Integer>) getTree().getRowKey();
> >>                if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
> >>                    selectedRowKeys.add();
> >>                }
> >>            }
> >> even though, we have created and declared RowKeys before this condition,
> >> and
> >> it is working fine, but why it is found null for getTree().getRowKey() ?
> >>
> >>
> >>
> >> Jakob Korherr wrote:
> >> >
> >> > Hi,
> >> >
> >> > You need to adapt this
> >> >
> >> > if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
> >> >     selectedRowKeys.add();
> >> > }
> >> >
> >> > to fit your selection.
> >> >
> >> > Regards,
> >> > Jakob
> >> >
> >> > 2009/12/18 omaji7 <om...@gmail.com>
> >> >
> >> >>
> >> >> Thanks Jakob for your suggested solution, i have tried your
> >> suggestion,
> >> >> but
> >> >> still unable to initial selected nodes in the treetable.
> >> >>
> >> >> My code look like this now :
> >> >>
> >> >> public TreeModel getTree() throws Exception {
> >> >>         HttpSession session = (HttpSession)
> >> >>
> >>
> FacesContext.getCurrentInstance().getExternalContext().getSession(false);
> >> >>        Long userRoleId = (Long) session.getAttribute("userRoleID");
> >> >>        Application[] applications =
> >> dbops.getAllApplications(userRoleId);
> >> >>        //selectedRowKeys = R
> >> >>         List<Node1> empty1 = Collections.emptyList();
> >> >>        List<Node1> root1 = new ArrayList<Node1>();
> >> >>        List<Node1> apps = new ArrayList<Node1>();
> >> >>        for (Application application : applications) {
> >> >>             //System.out.println("application is : " +
> >> >> application.getApplicationName());
> >> >>             Set<ApplicationPage> appPages =
> >> >> application.getApplicationPage();
> >> >>            List<Node1> pages = new ArrayList<Node1>();
> >> >>            for (ApplicationPage applicationPage : appPages) {
> >> >>                pages.add(new Node1(applicationPage.getPageName(),
> >> >> String.valueOf(applicationPage.getPageID()), empty1));
> >> >>            }
> >> >>            apps.add(new Node1(application.getApplicationName(),
> >> >> String.valueOf(application.getHomePage().getPageID()), pages));
> >> >>
> >> >>        }
> >> >>        root1.add(new Node1("Applications", "0", apps));
> >> >>        tree = new ChildPropertyTreeModel(root1, "children");
> >> >>        return tree;
> >> >>    }
> >> >>
> >> >> public RowKeySet getSelectedRowKeys() {
> >> >>         try {
> >> >>            System.out.println("called 1 ");
> >> >>            if (selectedRowKeys == null) {
> >> >>                System.out.println("called 2");
> >> >>                selectedRowKeys = new RowKeySetTreeImpl();
> >> >>                selectedRowKeys.setCollectionModel(getTree());
> >> >>            }
> >> >>            else {
> >> >>                System.out.println("called 3");
> >> >>            }
> >> >>            if (getTree().getRowKey() != null) {
> >> >>                System.out.println("called 4");
> >> >>                List<Integer> l = (List<Integer>)
> >> getTree().getRowKey();
> >> >>                 if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
> {
> >> >>                     selectedRowKeys.add();
> >> >>                }
> >> >>            }
> >> >>            else {
> >> >>                System.out.println("called 5");
> >> >>            }
> >> >>        } catch (Exception e) {
> >> >>            e.printStackTrace();
> >> >>         }
> >> >>        return selectedRowKeys;
> >> >>    }
> >> >>
> >> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
> >> >>        this.selectedRowKeys = selectedRowKeys;
> >> >>    }
> >> >>
> >> >> The TreeTable tag is still the same as in the previous code version.
> >> >>
> >> >> Can you pls do me a favor to solve this problem, i m really stuck in
> >> it
> >> >> from
> >> >> last 4 days. :-(
> >> >>
> >> >> Appriciate in Advance.
> >> >>
> >> >> Majid.
> >> >>
> >> >>
> >> >> Jakob Korherr wrote:
> >> >> >
> >> >> > Hi,
> >> >> >
> >> >> > I wasn't familiar with tr:tree, but I tried a few scenarios and I
> >> came
> >> >> up
> >> >> > with this solution:
> >> >> >
> >> >> >     public RowKeySetTreeImpl getRowKeySet()
> >> >> >     {
> >> >> >         if (rowKeySet == null)
> >> >> >         {
> >> >> >             rowKeySet = new RowKeySetTreeImpl();
> >> >> >             rowKeySet.setCollectionModel(getTreeModel());
> >> >> >         }
> >> >> >
> >> >> >         if (getTreeModel().getRowKey() != null)
> >> >> >         {
> >> >> >             List<Integer> l = (List<Integer>)
> >> >> getTreeModel().getRowKey();
> >> >> >             if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
> >> >> >             {
> >> >> >                 rowKeySet.add();
> >> >> >             }
> >> >> >         }
> >> >> >
> >> >> >         return rowKeySet;
> >> >> >     }
> >> >> >
> >> >> > This selects the second child of the first node in the tree.
> >> However,
> >> I
> >> >> > don't know if there is an easier way to do this.
> >> >> >
> >> >> > Regards,
> >> >> > Jakob Korherr
> >> >> >
> >> >> > 2009/12/18 omaji7 <om...@gmail.com>
> >> >> >
> >> >> >>
> >> >> >> Hi,
> >> >> >>
> >> >> >> My project is build in JSF, Hibernate and Faclets. i m using
> >> trinidad
> >> >> >> treetable tag to build a tree with multiselection nodes. Now i m
> >> >> facing
> >> >> a
> >> >> >> problem to initially selection of the nodes when page is loaded at
> >> the
> >> >> >> first
> >> >> >> time. i have tried alot to accomplish this task, but still unable
> >> to
> >> >> >> retain
> >> >> >> it. There is an attribute of "selectedRowKeys" in TreeTable which
> >> >> takes
> >> >> >> the
> >> >> >> object of "RowKeySet", but when i am building the tree in my bean,
> >> i
> >> >> >> don't
> >> >> >> know the RowKeys generated, so how do i get my desired RowKeys to
> >> be
> >> >> >> selected in the tree?
> >> >> >>
> >> >> >> i am trying to provide the code below
> >> >> >>
> >> >> >> myTree.xhtml
> >> >> >>
> >> >> >> <tr:treeTable id="testTreeTable"
> >> >> >>                                  value="#{RoleManageBean.tree}"
> >> >> >>                                  var="node"
> >> >> >>                                  rowSelection="multiple"
> >> >> >>                                  initiallyExpanded="true"
> >> >> >>                                  rowBandingInterval="1"
> >> >> >>                                  horizontalGridVisible="true"
> >> >> >>                                  verticalGridVisible="true"
> >> >> >>
> >> >> >> selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
> >> >> >>                        <f:facet name="actions">
> >> >> >>                            <tr:commandButton
> >> >> id="treeTableSelectButton"
> >> >> >> text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
> >> >> >>                        </f:facet>
> >> >> >>                        <f:facet name="nodeStamp">
> >> >> >>                            <tr:column headerText="Name">
> >> >> >>                                <tr:outputText
> >> value="#{node.name}"/>
> >> >> >>                            </tr:column>
> >> >> >>                        </f:facet>
> >> >> >>                        <f:facet name="pathStamp">
> >> >> >>                            <tr:outputText value="#{node.name}"/>
> >> >> >>                        </f:facet>
> >> >> >>                    </tr:treeTable>
> >> >> >>
> >> >> >>
> >> >> >> MyBean.java
> >> >> >>
> >> >> >> public class RoleManageBean implements Serializable {
> >> >> >>
> >> >> >>    private TreeModel tree;
> >> >> >>    private RowKeySet selectedRowKeys = null;
> >> >> >>
> >> >> >> public TreeModel getTree() throws Exception {
> >> >> >>        Application[] applications = dbops.getAllApplications();
> >> >> >>        List<Node1> empty1 = Collections.emptyList();
> >> >> >>        List<Node1> root1 = new ArrayList<Node1>();
> >> >> >>        List<Node1> apps = new ArrayList<Node1>();
> >> >> >>        for (Application application : applications) {
> >> >> >>            Set<ApplicationPage> appPages =
> >> >> >> application.getApplicationPage();
> >> >> >>            List<Node1> pages = new ArrayList<Node1>();
> >> >> >>            for (ApplicationPage applicationPage : appPages) {
> >> >> >>                pages.add(new Node1(applicationPage.getPageName(),
> >> >> >> String.valueOf(applicationPage.getPageID()), empty1));
> >> >> >>            }
> >> >> >>            apps.add(new Node1(application.getApplicationName(),
> >> >> >> String.valueOf(application.getHomePage().getPageID()), pages));
> >> >> >>
> >> >> >>        }
> >> >> >>        root1.add(new Node1("Applications", "0", apps));
> >> >> >>        tree = new ChildPropertyTreeModel(root1, "children");
> >> >> >>
> >> >> >>        return tree;
> >> >> >>    }
> >> >> >>
> >> >> >> public RowKeySet getSelectedRowKeys() {
> >> >> >>        selectedRowKeys = new RowKeySetImpl();
> >> >> >>        selectedRowKeys.add(String.valueOf("1,0"));
> >> >> >>        System.out.println("called");
> >> >> >>        return selectedRowKeys;
> >> >> >>    }
> >> >> >>
> >> >> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
> >> >> >>        this.selectedRowKeys = selectedRowKeys;
> >> >> >>    }
> >> >> >>
> >> >> >>
> >> >> >> Any guideline will be appriciated. Thanks in Advance
> >> >> >>
> >> >> >> Majid.
> >> >> >>
> >> >> >> Naresh Bhatia wrote:
> >> >> >> >
> >> >> >> > I am trying to learn the Trinidad TreeTable component. I created
> >> a
> >> >> >> > standalone JSF application and copied the TreeTable example
> >> source
> >> >> from
> >> >> >> > the demo war, along with other necessary infrastructure. I have
> >> the
> >> >> >> > TreeTable up and running. The only problem is that the text
> nodes
> >> >> are
> >> >> >> > showing the  html tags around it - for example:
> >> >> >> > text:node_0 - the text is not bolded. Any idea what the problem
> >> >> >> > might be? I am sure I am missing some sort of configuration.
> >> >> >> >
> >> >> >> > Thanks.
> >> >> >> > Naresh
> >> >> >> >
> >> >> >> >
> >> >> >>
> >> >> >> --
> >> >> >> View this message in context:
> >> >> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
> >> >> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >> >> >>
> >> >> >>
> >> >> >
> >> >> >
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842477.html
> >> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842673.html
> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26843085.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>

Re: Trinidad TreeTable

Posted by omaji7 <om...@gmail.com>.
Hi,

Thanks Jakob, i got it. Now i think, i will be able to initially select my
required nodes in the tree. Can i get help anytime i need from u?

Thanks :-)
Majid 


Jakob Korherr wrote:
> 
> Hi,
> 
> Try to create the TreeModel only once by multiple calls to getTree(), for
> example
> 
> private TreeModel tree;
> 
> private TreeModel getTree()
> {
>     if (tree == null) {
>         // create tree
>     }
>     return tree;
> }
> 
> I did that in my example case.
> 
> Regards,
> Jakob
> 
> 2009/12/18 omaji7 <om...@gmail.com>
> 
>>
>> Hi
>> Jakob, i have done it as u said, but the problem is, it get null at this
>> condition in the getSelectedRowKeys() method.
>>
>> if (getTree().getRowKey() != null) {
>>                System.out.println("called 4");
>>                List<Integer> l = (List<Integer>) getTree().getRowKey();
>>                if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
>>                    selectedRowKeys.add();
>>                }
>>            }
>> even though, we have created and declared RowKeys before this condition,
>> and
>> it is working fine, but why it is found null for getTree().getRowKey() ?
>>
>>
>>
>> Jakob Korherr wrote:
>> >
>> > Hi,
>> >
>> > You need to adapt this
>> >
>> > if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
>> >     selectedRowKeys.add();
>> > }
>> >
>> > to fit your selection.
>> >
>> > Regards,
>> > Jakob
>> >
>> > 2009/12/18 omaji7 <om...@gmail.com>
>> >
>> >>
>> >> Thanks Jakob for your suggested solution, i have tried your
>> suggestion,
>> >> but
>> >> still unable to initial selected nodes in the treetable.
>> >>
>> >> My code look like this now :
>> >>
>> >> public TreeModel getTree() throws Exception {
>> >>         HttpSession session = (HttpSession)
>> >>
>> FacesContext.getCurrentInstance().getExternalContext().getSession(false);
>> >>        Long userRoleId = (Long) session.getAttribute("userRoleID");
>> >>        Application[] applications =
>> dbops.getAllApplications(userRoleId);
>> >>        //selectedRowKeys = R
>> >>         List<Node1> empty1 = Collections.emptyList();
>> >>        List<Node1> root1 = new ArrayList<Node1>();
>> >>        List<Node1> apps = new ArrayList<Node1>();
>> >>        for (Application application : applications) {
>> >>             //System.out.println("application is : " +
>> >> application.getApplicationName());
>> >>             Set<ApplicationPage> appPages =
>> >> application.getApplicationPage();
>> >>            List<Node1> pages = new ArrayList<Node1>();
>> >>            for (ApplicationPage applicationPage : appPages) {
>> >>                pages.add(new Node1(applicationPage.getPageName(),
>> >> String.valueOf(applicationPage.getPageID()), empty1));
>> >>            }
>> >>            apps.add(new Node1(application.getApplicationName(),
>> >> String.valueOf(application.getHomePage().getPageID()), pages));
>> >>
>> >>        }
>> >>        root1.add(new Node1("Applications", "0", apps));
>> >>        tree = new ChildPropertyTreeModel(root1, "children");
>> >>        return tree;
>> >>    }
>> >>
>> >> public RowKeySet getSelectedRowKeys() {
>> >>         try {
>> >>            System.out.println("called 1 ");
>> >>            if (selectedRowKeys == null) {
>> >>                System.out.println("called 2");
>> >>                selectedRowKeys = new RowKeySetTreeImpl();
>> >>                selectedRowKeys.setCollectionModel(getTree());
>> >>            }
>> >>            else {
>> >>                System.out.println("called 3");
>> >>            }
>> >>            if (getTree().getRowKey() != null) {
>> >>                System.out.println("called 4");
>> >>                List<Integer> l = (List<Integer>)
>> getTree().getRowKey();
>> >>                 if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
>> >>                     selectedRowKeys.add();
>> >>                }
>> >>            }
>> >>            else {
>> >>                System.out.println("called 5");
>> >>            }
>> >>        } catch (Exception e) {
>> >>            e.printStackTrace();
>> >>         }
>> >>        return selectedRowKeys;
>> >>    }
>> >>
>> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
>> >>        this.selectedRowKeys = selectedRowKeys;
>> >>    }
>> >>
>> >> The TreeTable tag is still the same as in the previous code version.
>> >>
>> >> Can you pls do me a favor to solve this problem, i m really stuck in
>> it
>> >> from
>> >> last 4 days. :-(
>> >>
>> >> Appriciate in Advance.
>> >>
>> >> Majid.
>> >>
>> >>
>> >> Jakob Korherr wrote:
>> >> >
>> >> > Hi,
>> >> >
>> >> > I wasn't familiar with tr:tree, but I tried a few scenarios and I
>> came
>> >> up
>> >> > with this solution:
>> >> >
>> >> >     public RowKeySetTreeImpl getRowKeySet()
>> >> >     {
>> >> >         if (rowKeySet == null)
>> >> >         {
>> >> >             rowKeySet = new RowKeySetTreeImpl();
>> >> >             rowKeySet.setCollectionModel(getTreeModel());
>> >> >         }
>> >> >
>> >> >         if (getTreeModel().getRowKey() != null)
>> >> >         {
>> >> >             List<Integer> l = (List<Integer>)
>> >> getTreeModel().getRowKey();
>> >> >             if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
>> >> >             {
>> >> >                 rowKeySet.add();
>> >> >             }
>> >> >         }
>> >> >
>> >> >         return rowKeySet;
>> >> >     }
>> >> >
>> >> > This selects the second child of the first node in the tree.
>> However,
>> I
>> >> > don't know if there is an easier way to do this.
>> >> >
>> >> > Regards,
>> >> > Jakob Korherr
>> >> >
>> >> > 2009/12/18 omaji7 <om...@gmail.com>
>> >> >
>> >> >>
>> >> >> Hi,
>> >> >>
>> >> >> My project is build in JSF, Hibernate and Faclets. i m using
>> trinidad
>> >> >> treetable tag to build a tree with multiselection nodes. Now i m
>> >> facing
>> >> a
>> >> >> problem to initially selection of the nodes when page is loaded at
>> the
>> >> >> first
>> >> >> time. i have tried alot to accomplish this task, but still unable
>> to
>> >> >> retain
>> >> >> it. There is an attribute of "selectedRowKeys" in TreeTable which
>> >> takes
>> >> >> the
>> >> >> object of "RowKeySet", but when i am building the tree in my bean,
>> i
>> >> >> don't
>> >> >> know the RowKeys generated, so how do i get my desired RowKeys to
>> be
>> >> >> selected in the tree?
>> >> >>
>> >> >> i am trying to provide the code below
>> >> >>
>> >> >> myTree.xhtml
>> >> >>
>> >> >> <tr:treeTable id="testTreeTable"
>> >> >>                                  value="#{RoleManageBean.tree}"
>> >> >>                                  var="node"
>> >> >>                                  rowSelection="multiple"
>> >> >>                                  initiallyExpanded="true"
>> >> >>                                  rowBandingInterval="1"
>> >> >>                                  horizontalGridVisible="true"
>> >> >>                                  verticalGridVisible="true"
>> >> >>
>> >> >> selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
>> >> >>                        <f:facet name="actions">
>> >> >>                            <tr:commandButton
>> >> id="treeTableSelectButton"
>> >> >> text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
>> >> >>                        </f:facet>
>> >> >>                        <f:facet name="nodeStamp">
>> >> >>                            <tr:column headerText="Name">
>> >> >>                                <tr:outputText
>> value="#{node.name}"/>
>> >> >>                            </tr:column>
>> >> >>                        </f:facet>
>> >> >>                        <f:facet name="pathStamp">
>> >> >>                            <tr:outputText value="#{node.name}"/>
>> >> >>                        </f:facet>
>> >> >>                    </tr:treeTable>
>> >> >>
>> >> >>
>> >> >> MyBean.java
>> >> >>
>> >> >> public class RoleManageBean implements Serializable {
>> >> >>
>> >> >>    private TreeModel tree;
>> >> >>    private RowKeySet selectedRowKeys = null;
>> >> >>
>> >> >> public TreeModel getTree() throws Exception {
>> >> >>        Application[] applications = dbops.getAllApplications();
>> >> >>        List<Node1> empty1 = Collections.emptyList();
>> >> >>        List<Node1> root1 = new ArrayList<Node1>();
>> >> >>        List<Node1> apps = new ArrayList<Node1>();
>> >> >>        for (Application application : applications) {
>> >> >>            Set<ApplicationPage> appPages =
>> >> >> application.getApplicationPage();
>> >> >>            List<Node1> pages = new ArrayList<Node1>();
>> >> >>            for (ApplicationPage applicationPage : appPages) {
>> >> >>                pages.add(new Node1(applicationPage.getPageName(),
>> >> >> String.valueOf(applicationPage.getPageID()), empty1));
>> >> >>            }
>> >> >>            apps.add(new Node1(application.getApplicationName(),
>> >> >> String.valueOf(application.getHomePage().getPageID()), pages));
>> >> >>
>> >> >>        }
>> >> >>        root1.add(new Node1("Applications", "0", apps));
>> >> >>        tree = new ChildPropertyTreeModel(root1, "children");
>> >> >>
>> >> >>        return tree;
>> >> >>    }
>> >> >>
>> >> >> public RowKeySet getSelectedRowKeys() {
>> >> >>        selectedRowKeys = new RowKeySetImpl();
>> >> >>        selectedRowKeys.add(String.valueOf("1,0"));
>> >> >>        System.out.println("called");
>> >> >>        return selectedRowKeys;
>> >> >>    }
>> >> >>
>> >> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
>> >> >>        this.selectedRowKeys = selectedRowKeys;
>> >> >>    }
>> >> >>
>> >> >>
>> >> >> Any guideline will be appriciated. Thanks in Advance
>> >> >>
>> >> >> Majid.
>> >> >>
>> >> >> Naresh Bhatia wrote:
>> >> >> >
>> >> >> > I am trying to learn the Trinidad TreeTable component. I created
>> a
>> >> >> > standalone JSF application and copied the TreeTable example
>> source
>> >> from
>> >> >> > the demo war, along with other necessary infrastructure. I have
>> the
>> >> >> > TreeTable up and running. The only problem is that the text nodes
>> >> are
>> >> >> > showing the  html tags around it - for example:
>> >> >> > text:node_0 - the text is not bolded. Any idea what the problem
>> >> >> > might be? I am sure I am missing some sort of configuration.
>> >> >> >
>> >> >> > Thanks.
>> >> >> > Naresh
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> --
>> >> >> View this message in context:
>> >> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
>> >> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842477.html
>> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842673.html
>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://old.nabble.com/Trinidad-TreeTable-tp6311331p26843085.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: Trinidad TreeTable

Posted by Jakob Korherr <ja...@gmail.com>.
Hi,

Try to create the TreeModel only once by multiple calls to getTree(), for
example

private TreeModel tree;

private TreeModel getTree()
{
    if (tree == null) {
        // create tree
    }
    return tree;
}

I did that in my example case.

Regards,
Jakob

2009/12/18 omaji7 <om...@gmail.com>

>
> Hi
> Jakob, i have done it as u said, but the problem is, it get null at this
> condition in the getSelectedRowKeys() method.
>
> if (getTree().getRowKey() != null) {
>                System.out.println("called 4");
>                List<Integer> l = (List<Integer>) getTree().getRowKey();
>                if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
>                    selectedRowKeys.add();
>                }
>            }
> even though, we have created and declared RowKeys before this condition,
> and
> it is working fine, but why it is found null for getTree().getRowKey() ?
>
>
>
> Jakob Korherr wrote:
> >
> > Hi,
> >
> > You need to adapt this
> >
> > if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
> >     selectedRowKeys.add();
> > }
> >
> > to fit your selection.
> >
> > Regards,
> > Jakob
> >
> > 2009/12/18 omaji7 <om...@gmail.com>
> >
> >>
> >> Thanks Jakob for your suggested solution, i have tried your suggestion,
> >> but
> >> still unable to initial selected nodes in the treetable.
> >>
> >> My code look like this now :
> >>
> >> public TreeModel getTree() throws Exception {
> >>         HttpSession session = (HttpSession)
> >>
> FacesContext.getCurrentInstance().getExternalContext().getSession(false);
> >>        Long userRoleId = (Long) session.getAttribute("userRoleID");
> >>        Application[] applications =
> dbops.getAllApplications(userRoleId);
> >>        //selectedRowKeys = R
> >>         List<Node1> empty1 = Collections.emptyList();
> >>        List<Node1> root1 = new ArrayList<Node1>();
> >>        List<Node1> apps = new ArrayList<Node1>();
> >>        for (Application application : applications) {
> >>             //System.out.println("application is : " +
> >> application.getApplicationName());
> >>             Set<ApplicationPage> appPages =
> >> application.getApplicationPage();
> >>            List<Node1> pages = new ArrayList<Node1>();
> >>            for (ApplicationPage applicationPage : appPages) {
> >>                pages.add(new Node1(applicationPage.getPageName(),
> >> String.valueOf(applicationPage.getPageID()), empty1));
> >>            }
> >>            apps.add(new Node1(application.getApplicationName(),
> >> String.valueOf(application.getHomePage().getPageID()), pages));
> >>
> >>        }
> >>        root1.add(new Node1("Applications", "0", apps));
> >>        tree = new ChildPropertyTreeModel(root1, "children");
> >>        return tree;
> >>    }
> >>
> >> public RowKeySet getSelectedRowKeys() {
> >>         try {
> >>            System.out.println("called 1 ");
> >>            if (selectedRowKeys == null) {
> >>                System.out.println("called 2");
> >>                selectedRowKeys = new RowKeySetTreeImpl();
> >>                selectedRowKeys.setCollectionModel(getTree());
> >>            }
> >>            else {
> >>                System.out.println("called 3");
> >>            }
> >>            if (getTree().getRowKey() != null) {
> >>                System.out.println("called 4");
> >>                List<Integer> l = (List<Integer>) getTree().getRowKey();
> >>                 if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
> >>                     selectedRowKeys.add();
> >>                }
> >>            }
> >>            else {
> >>                System.out.println("called 5");
> >>            }
> >>        } catch (Exception e) {
> >>            e.printStackTrace();
> >>         }
> >>        return selectedRowKeys;
> >>    }
> >>
> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
> >>        this.selectedRowKeys = selectedRowKeys;
> >>    }
> >>
> >> The TreeTable tag is still the same as in the previous code version.
> >>
> >> Can you pls do me a favor to solve this problem, i m really stuck in it
> >> from
> >> last 4 days. :-(
> >>
> >> Appriciate in Advance.
> >>
> >> Majid.
> >>
> >>
> >> Jakob Korherr wrote:
> >> >
> >> > Hi,
> >> >
> >> > I wasn't familiar with tr:tree, but I tried a few scenarios and I came
> >> up
> >> > with this solution:
> >> >
> >> >     public RowKeySetTreeImpl getRowKeySet()
> >> >     {
> >> >         if (rowKeySet == null)
> >> >         {
> >> >             rowKeySet = new RowKeySetTreeImpl();
> >> >             rowKeySet.setCollectionModel(getTreeModel());
> >> >         }
> >> >
> >> >         if (getTreeModel().getRowKey() != null)
> >> >         {
> >> >             List<Integer> l = (List<Integer>)
> >> getTreeModel().getRowKey();
> >> >             if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
> >> >             {
> >> >                 rowKeySet.add();
> >> >             }
> >> >         }
> >> >
> >> >         return rowKeySet;
> >> >     }
> >> >
> >> > This selects the second child of the first node in the tree. However,
> I
> >> > don't know if there is an easier way to do this.
> >> >
> >> > Regards,
> >> > Jakob Korherr
> >> >
> >> > 2009/12/18 omaji7 <om...@gmail.com>
> >> >
> >> >>
> >> >> Hi,
> >> >>
> >> >> My project is build in JSF, Hibernate and Faclets. i m using trinidad
> >> >> treetable tag to build a tree with multiselection nodes. Now i m
> >> facing
> >> a
> >> >> problem to initially selection of the nodes when page is loaded at
> the
> >> >> first
> >> >> time. i have tried alot to accomplish this task, but still unable to
> >> >> retain
> >> >> it. There is an attribute of "selectedRowKeys" in TreeTable which
> >> takes
> >> >> the
> >> >> object of "RowKeySet", but when i am building the tree in my bean, i
> >> >> don't
> >> >> know the RowKeys generated, so how do i get my desired RowKeys to be
> >> >> selected in the tree?
> >> >>
> >> >> i am trying to provide the code below
> >> >>
> >> >> myTree.xhtml
> >> >>
> >> >> <tr:treeTable id="testTreeTable"
> >> >>                                  value="#{RoleManageBean.tree}"
> >> >>                                  var="node"
> >> >>                                  rowSelection="multiple"
> >> >>                                  initiallyExpanded="true"
> >> >>                                  rowBandingInterval="1"
> >> >>                                  horizontalGridVisible="true"
> >> >>                                  verticalGridVisible="true"
> >> >>
> >> >> selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
> >> >>                        <f:facet name="actions">
> >> >>                            <tr:commandButton
> >> id="treeTableSelectButton"
> >> >> text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
> >> >>                        </f:facet>
> >> >>                        <f:facet name="nodeStamp">
> >> >>                            <tr:column headerText="Name">
> >> >>                                <tr:outputText value="#{node.name}"/>
> >> >>                            </tr:column>
> >> >>                        </f:facet>
> >> >>                        <f:facet name="pathStamp">
> >> >>                            <tr:outputText value="#{node.name}"/>
> >> >>                        </f:facet>
> >> >>                    </tr:treeTable>
> >> >>
> >> >>
> >> >> MyBean.java
> >> >>
> >> >> public class RoleManageBean implements Serializable {
> >> >>
> >> >>    private TreeModel tree;
> >> >>    private RowKeySet selectedRowKeys = null;
> >> >>
> >> >> public TreeModel getTree() throws Exception {
> >> >>        Application[] applications = dbops.getAllApplications();
> >> >>        List<Node1> empty1 = Collections.emptyList();
> >> >>        List<Node1> root1 = new ArrayList<Node1>();
> >> >>        List<Node1> apps = new ArrayList<Node1>();
> >> >>        for (Application application : applications) {
> >> >>            Set<ApplicationPage> appPages =
> >> >> application.getApplicationPage();
> >> >>            List<Node1> pages = new ArrayList<Node1>();
> >> >>            for (ApplicationPage applicationPage : appPages) {
> >> >>                pages.add(new Node1(applicationPage.getPageName(),
> >> >> String.valueOf(applicationPage.getPageID()), empty1));
> >> >>            }
> >> >>            apps.add(new Node1(application.getApplicationName(),
> >> >> String.valueOf(application.getHomePage().getPageID()), pages));
> >> >>
> >> >>        }
> >> >>        root1.add(new Node1("Applications", "0", apps));
> >> >>        tree = new ChildPropertyTreeModel(root1, "children");
> >> >>
> >> >>        return tree;
> >> >>    }
> >> >>
> >> >> public RowKeySet getSelectedRowKeys() {
> >> >>        selectedRowKeys = new RowKeySetImpl();
> >> >>        selectedRowKeys.add(String.valueOf("1,0"));
> >> >>        System.out.println("called");
> >> >>        return selectedRowKeys;
> >> >>    }
> >> >>
> >> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
> >> >>        this.selectedRowKeys = selectedRowKeys;
> >> >>    }
> >> >>
> >> >>
> >> >> Any guideline will be appriciated. Thanks in Advance
> >> >>
> >> >> Majid.
> >> >>
> >> >> Naresh Bhatia wrote:
> >> >> >
> >> >> > I am trying to learn the Trinidad TreeTable component. I created a
> >> >> > standalone JSF application and copied the TreeTable example source
> >> from
> >> >> > the demo war, along with other necessary infrastructure. I have the
> >> >> > TreeTable up and running. The only problem is that the text nodes
> >> are
> >> >> > showing the  html tags around it - for example:
> >> >> > text:node_0 - the text is not bolded. Any idea what the problem
> >> >> > might be? I am sure I am missing some sort of configuration.
> >> >> >
> >> >> > Thanks.
> >> >> > Naresh
> >> >> >
> >> >> >
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
> >> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842477.html
> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842673.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>

Re: Trinidad TreeTable

Posted by omaji7 <om...@gmail.com>.
Hi
Jakob, i have done it as u said, but the problem is, it get null at this
condition in the getSelectedRowKeys() method.

if (getTree().getRowKey() != null) {
                System.out.println("called 4");
                List<Integer> l = (List<Integer>) getTree().getRowKey();
                if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
                    selectedRowKeys.add();
                }
            }
even though, we have created and declared RowKeys before this condition, and
it is working fine, but why it is found null for getTree().getRowKey() ?



Jakob Korherr wrote:
> 
> Hi,
> 
> You need to adapt this
> 
> if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
>     selectedRowKeys.add();
> }
> 
> to fit your selection.
> 
> Regards,
> Jakob
> 
> 2009/12/18 omaji7 <om...@gmail.com>
> 
>>
>> Thanks Jakob for your suggested solution, i have tried your suggestion,
>> but
>> still unable to initial selected nodes in the treetable.
>>
>> My code look like this now :
>>
>> public TreeModel getTree() throws Exception {
>>         HttpSession session = (HttpSession)
>> FacesContext.getCurrentInstance().getExternalContext().getSession(false);
>>        Long userRoleId = (Long) session.getAttribute("userRoleID");
>>        Application[] applications = dbops.getAllApplications(userRoleId);
>>        //selectedRowKeys = R
>>         List<Node1> empty1 = Collections.emptyList();
>>        List<Node1> root1 = new ArrayList<Node1>();
>>        List<Node1> apps = new ArrayList<Node1>();
>>        for (Application application : applications) {
>>             //System.out.println("application is : " +
>> application.getApplicationName());
>>             Set<ApplicationPage> appPages =
>> application.getApplicationPage();
>>            List<Node1> pages = new ArrayList<Node1>();
>>            for (ApplicationPage applicationPage : appPages) {
>>                pages.add(new Node1(applicationPage.getPageName(),
>> String.valueOf(applicationPage.getPageID()), empty1));
>>            }
>>            apps.add(new Node1(application.getApplicationName(),
>> String.valueOf(application.getHomePage().getPageID()), pages));
>>
>>        }
>>        root1.add(new Node1("Applications", "0", apps));
>>        tree = new ChildPropertyTreeModel(root1, "children");
>>        return tree;
>>    }
>>
>> public RowKeySet getSelectedRowKeys() {
>>         try {
>>            System.out.println("called 1 ");
>>            if (selectedRowKeys == null) {
>>                System.out.println("called 2");
>>                selectedRowKeys = new RowKeySetTreeImpl();
>>                selectedRowKeys.setCollectionModel(getTree());
>>            }
>>            else {
>>                System.out.println("called 3");
>>            }
>>            if (getTree().getRowKey() != null) {
>>                System.out.println("called 4");
>>                List<Integer> l = (List<Integer>) getTree().getRowKey();
>>                 if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
>>                     selectedRowKeys.add();
>>                }
>>            }
>>            else {
>>                System.out.println("called 5");
>>            }
>>        } catch (Exception e) {
>>            e.printStackTrace();
>>         }
>>        return selectedRowKeys;
>>    }
>>
>>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
>>        this.selectedRowKeys = selectedRowKeys;
>>    }
>>
>> The TreeTable tag is still the same as in the previous code version.
>>
>> Can you pls do me a favor to solve this problem, i m really stuck in it
>> from
>> last 4 days. :-(
>>
>> Appriciate in Advance.
>>
>> Majid.
>>
>>
>> Jakob Korherr wrote:
>> >
>> > Hi,
>> >
>> > I wasn't familiar with tr:tree, but I tried a few scenarios and I came
>> up
>> > with this solution:
>> >
>> >     public RowKeySetTreeImpl getRowKeySet()
>> >     {
>> >         if (rowKeySet == null)
>> >         {
>> >             rowKeySet = new RowKeySetTreeImpl();
>> >             rowKeySet.setCollectionModel(getTreeModel());
>> >         }
>> >
>> >         if (getTreeModel().getRowKey() != null)
>> >         {
>> >             List<Integer> l = (List<Integer>)
>> getTreeModel().getRowKey();
>> >             if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
>> >             {
>> >                 rowKeySet.add();
>> >             }
>> >         }
>> >
>> >         return rowKeySet;
>> >     }
>> >
>> > This selects the second child of the first node in the tree. However, I
>> > don't know if there is an easier way to do this.
>> >
>> > Regards,
>> > Jakob Korherr
>> >
>> > 2009/12/18 omaji7 <om...@gmail.com>
>> >
>> >>
>> >> Hi,
>> >>
>> >> My project is build in JSF, Hibernate and Faclets. i m using trinidad
>> >> treetable tag to build a tree with multiselection nodes. Now i m
>> facing
>> a
>> >> problem to initially selection of the nodes when page is loaded at the
>> >> first
>> >> time. i have tried alot to accomplish this task, but still unable to
>> >> retain
>> >> it. There is an attribute of "selectedRowKeys" in TreeTable which
>> takes
>> >> the
>> >> object of "RowKeySet", but when i am building the tree in my bean, i
>> >> don't
>> >> know the RowKeys generated, so how do i get my desired RowKeys to be
>> >> selected in the tree?
>> >>
>> >> i am trying to provide the code below
>> >>
>> >> myTree.xhtml
>> >>
>> >> <tr:treeTable id="testTreeTable"
>> >>                                  value="#{RoleManageBean.tree}"
>> >>                                  var="node"
>> >>                                  rowSelection="multiple"
>> >>                                  initiallyExpanded="true"
>> >>                                  rowBandingInterval="1"
>> >>                                  horizontalGridVisible="true"
>> >>                                  verticalGridVisible="true"
>> >>
>> >> selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
>> >>                        <f:facet name="actions">
>> >>                            <tr:commandButton
>> id="treeTableSelectButton"
>> >> text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
>> >>                        </f:facet>
>> >>                        <f:facet name="nodeStamp">
>> >>                            <tr:column headerText="Name">
>> >>                                <tr:outputText value="#{node.name}"/>
>> >>                            </tr:column>
>> >>                        </f:facet>
>> >>                        <f:facet name="pathStamp">
>> >>                            <tr:outputText value="#{node.name}"/>
>> >>                        </f:facet>
>> >>                    </tr:treeTable>
>> >>
>> >>
>> >> MyBean.java
>> >>
>> >> public class RoleManageBean implements Serializable {
>> >>
>> >>    private TreeModel tree;
>> >>    private RowKeySet selectedRowKeys = null;
>> >>
>> >> public TreeModel getTree() throws Exception {
>> >>        Application[] applications = dbops.getAllApplications();
>> >>        List<Node1> empty1 = Collections.emptyList();
>> >>        List<Node1> root1 = new ArrayList<Node1>();
>> >>        List<Node1> apps = new ArrayList<Node1>();
>> >>        for (Application application : applications) {
>> >>            Set<ApplicationPage> appPages =
>> >> application.getApplicationPage();
>> >>            List<Node1> pages = new ArrayList<Node1>();
>> >>            for (ApplicationPage applicationPage : appPages) {
>> >>                pages.add(new Node1(applicationPage.getPageName(),
>> >> String.valueOf(applicationPage.getPageID()), empty1));
>> >>            }
>> >>            apps.add(new Node1(application.getApplicationName(),
>> >> String.valueOf(application.getHomePage().getPageID()), pages));
>> >>
>> >>        }
>> >>        root1.add(new Node1("Applications", "0", apps));
>> >>        tree = new ChildPropertyTreeModel(root1, "children");
>> >>
>> >>        return tree;
>> >>    }
>> >>
>> >> public RowKeySet getSelectedRowKeys() {
>> >>        selectedRowKeys = new RowKeySetImpl();
>> >>        selectedRowKeys.add(String.valueOf("1,0"));
>> >>        System.out.println("called");
>> >>        return selectedRowKeys;
>> >>    }
>> >>
>> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
>> >>        this.selectedRowKeys = selectedRowKeys;
>> >>    }
>> >>
>> >>
>> >> Any guideline will be appriciated. Thanks in Advance
>> >>
>> >> Majid.
>> >>
>> >> Naresh Bhatia wrote:
>> >> >
>> >> > I am trying to learn the Trinidad TreeTable component. I created a
>> >> > standalone JSF application and copied the TreeTable example source
>> from
>> >> > the demo war, along with other necessary infrastructure. I have the
>> >> > TreeTable up and running. The only problem is that the text nodes
>> are
>> >> > showing the  html tags around it - for example:
>> >> > text:node_0 - the text is not bolded. Any idea what the problem
>> >> > might be? I am sure I am missing some sort of configuration.
>> >> >
>> >> > Thanks.
>> >> > Naresh
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
>> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842477.html
>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842673.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: Trinidad TreeTable

Posted by Jakob Korherr <ja...@gmail.com>.
Hi,

You need to adapt this

if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
    selectedRowKeys.add();
}

to fit your selection.

Regards,
Jakob

2009/12/18 omaji7 <om...@gmail.com>

>
> Thanks Jakob for your suggested solution, i have tried your suggestion, but
> still unable to initial selected nodes in the treetable.
>
> My code look like this now :
>
> public TreeModel getTree() throws Exception {
>         HttpSession session = (HttpSession)
> FacesContext.getCurrentInstance().getExternalContext().getSession(false);
>        Long userRoleId = (Long) session.getAttribute("userRoleID");
>        Application[] applications = dbops.getAllApplications(userRoleId);
>        //selectedRowKeys = R
>         List<Node1> empty1 = Collections.emptyList();
>        List<Node1> root1 = new ArrayList<Node1>();
>        List<Node1> apps = new ArrayList<Node1>();
>        for (Application application : applications) {
>             //System.out.println("application is : " +
> application.getApplicationName());
>             Set<ApplicationPage> appPages =
> application.getApplicationPage();
>            List<Node1> pages = new ArrayList<Node1>();
>            for (ApplicationPage applicationPage : appPages) {
>                pages.add(new Node1(applicationPage.getPageName(),
> String.valueOf(applicationPage.getPageID()), empty1));
>            }
>            apps.add(new Node1(application.getApplicationName(),
> String.valueOf(application.getHomePage().getPageID()), pages));
>
>        }
>        root1.add(new Node1("Applications", "0", apps));
>        tree = new ChildPropertyTreeModel(root1, "children");
>        return tree;
>    }
>
> public RowKeySet getSelectedRowKeys() {
>         try {
>            System.out.println("called 1 ");
>            if (selectedRowKeys == null) {
>                System.out.println("called 2");
>                selectedRowKeys = new RowKeySetTreeImpl();
>                selectedRowKeys.setCollectionModel(getTree());
>            }
>            else {
>                System.out.println("called 3");
>            }
>            if (getTree().getRowKey() != null) {
>                System.out.println("called 4");
>                List<Integer> l = (List<Integer>) getTree().getRowKey();
>                 if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
>                     selectedRowKeys.add();
>                }
>            }
>            else {
>                System.out.println("called 5");
>            }
>        } catch (Exception e) {
>            e.printStackTrace();
>         }
>        return selectedRowKeys;
>    }
>
>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
>        this.selectedRowKeys = selectedRowKeys;
>    }
>
> The TreeTable tag is still the same as in the previous code version.
>
> Can you pls do me a favor to solve this problem, i m really stuck in it
> from
> last 4 days. :-(
>
> Appriciate in Advance.
>
> Majid.
>
>
> Jakob Korherr wrote:
> >
> > Hi,
> >
> > I wasn't familiar with tr:tree, but I tried a few scenarios and I came up
> > with this solution:
> >
> >     public RowKeySetTreeImpl getRowKeySet()
> >     {
> >         if (rowKeySet == null)
> >         {
> >             rowKeySet = new RowKeySetTreeImpl();
> >             rowKeySet.setCollectionModel(getTreeModel());
> >         }
> >
> >         if (getTreeModel().getRowKey() != null)
> >         {
> >             List<Integer> l = (List<Integer>) getTreeModel().getRowKey();
> >             if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
> >             {
> >                 rowKeySet.add();
> >             }
> >         }
> >
> >         return rowKeySet;
> >     }
> >
> > This selects the second child of the first node in the tree. However, I
> > don't know if there is an easier way to do this.
> >
> > Regards,
> > Jakob Korherr
> >
> > 2009/12/18 omaji7 <om...@gmail.com>
> >
> >>
> >> Hi,
> >>
> >> My project is build in JSF, Hibernate and Faclets. i m using trinidad
> >> treetable tag to build a tree with multiselection nodes. Now i m facing
> a
> >> problem to initially selection of the nodes when page is loaded at the
> >> first
> >> time. i have tried alot to accomplish this task, but still unable to
> >> retain
> >> it. There is an attribute of "selectedRowKeys" in TreeTable which takes
> >> the
> >> object of "RowKeySet", but when i am building the tree in my bean, i
> >> don't
> >> know the RowKeys generated, so how do i get my desired RowKeys to be
> >> selected in the tree?
> >>
> >> i am trying to provide the code below
> >>
> >> myTree.xhtml
> >>
> >> <tr:treeTable id="testTreeTable"
> >>                                  value="#{RoleManageBean.tree}"
> >>                                  var="node"
> >>                                  rowSelection="multiple"
> >>                                  initiallyExpanded="true"
> >>                                  rowBandingInterval="1"
> >>                                  horizontalGridVisible="true"
> >>                                  verticalGridVisible="true"
> >>
> >> selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
> >>                        <f:facet name="actions">
> >>                            <tr:commandButton id="treeTableSelectButton"
> >> text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
> >>                        </f:facet>
> >>                        <f:facet name="nodeStamp">
> >>                            <tr:column headerText="Name">
> >>                                <tr:outputText value="#{node.name}"/>
> >>                            </tr:column>
> >>                        </f:facet>
> >>                        <f:facet name="pathStamp">
> >>                            <tr:outputText value="#{node.name}"/>
> >>                        </f:facet>
> >>                    </tr:treeTable>
> >>
> >>
> >> MyBean.java
> >>
> >> public class RoleManageBean implements Serializable {
> >>
> >>    private TreeModel tree;
> >>    private RowKeySet selectedRowKeys = null;
> >>
> >> public TreeModel getTree() throws Exception {
> >>        Application[] applications = dbops.getAllApplications();
> >>        List<Node1> empty1 = Collections.emptyList();
> >>        List<Node1> root1 = new ArrayList<Node1>();
> >>        List<Node1> apps = new ArrayList<Node1>();
> >>        for (Application application : applications) {
> >>            Set<ApplicationPage> appPages =
> >> application.getApplicationPage();
> >>            List<Node1> pages = new ArrayList<Node1>();
> >>            for (ApplicationPage applicationPage : appPages) {
> >>                pages.add(new Node1(applicationPage.getPageName(),
> >> String.valueOf(applicationPage.getPageID()), empty1));
> >>            }
> >>            apps.add(new Node1(application.getApplicationName(),
> >> String.valueOf(application.getHomePage().getPageID()), pages));
> >>
> >>        }
> >>        root1.add(new Node1("Applications", "0", apps));
> >>        tree = new ChildPropertyTreeModel(root1, "children");
> >>
> >>        return tree;
> >>    }
> >>
> >> public RowKeySet getSelectedRowKeys() {
> >>        selectedRowKeys = new RowKeySetImpl();
> >>        selectedRowKeys.add(String.valueOf("1,0"));
> >>        System.out.println("called");
> >>        return selectedRowKeys;
> >>    }
> >>
> >>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
> >>        this.selectedRowKeys = selectedRowKeys;
> >>    }
> >>
> >>
> >> Any guideline will be appriciated. Thanks in Advance
> >>
> >> Majid.
> >>
> >> Naresh Bhatia wrote:
> >> >
> >> > I am trying to learn the Trinidad TreeTable component. I created a
> >> > standalone JSF application and copied the TreeTable example source
> from
> >> > the demo war, along with other necessary infrastructure. I have the
> >> > TreeTable up and running. The only problem is that the text nodes are
> >> > showing the  html tags around it - for example:
> >> > text:node_0 - the text is not bolded. Any idea what the problem
> >> > might be? I am sure I am missing some sort of configuration.
> >> >
> >> > Thanks.
> >> > Naresh
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842477.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>

Re: Trinidad TreeTable

Posted by omaji7 <om...@gmail.com>.
Thanks Jakob for your suggested solution, i have tried your suggestion, but
still unable to initial selected nodes in the treetable.

My code look like this now :

public TreeModel getTree() throws Exception {
        HttpSession session = (HttpSession)
FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        Long userRoleId = (Long) session.getAttribute("userRoleID");
        Application[] applications = dbops.getAllApplications(userRoleId);
        //selectedRowKeys = R
        List<Node1> empty1 = Collections.emptyList();
        List<Node1> root1 = new ArrayList<Node1>();
        List<Node1> apps = new ArrayList<Node1>();
        for (Application application : applications) {
            //System.out.println("application is : " +
application.getApplicationName());
            Set<ApplicationPage> appPages =
application.getApplicationPage();
            List<Node1> pages = new ArrayList<Node1>();
            for (ApplicationPage applicationPage : appPages) {
                pages.add(new Node1(applicationPage.getPageName(),
String.valueOf(applicationPage.getPageID()), empty1));
            }
            apps.add(new Node1(application.getApplicationName(),
String.valueOf(application.getHomePage().getPageID()), pages));

        }
        root1.add(new Node1("Applications", "0", apps));
        tree = new ChildPropertyTreeModel(root1, "children");
        return tree;
    }

public RowKeySet getSelectedRowKeys() {
        try {
            System.out.println("called 1 ");
            if (selectedRowKeys == null) {
                System.out.println("called 2");
                selectedRowKeys = new RowKeySetTreeImpl();
                selectedRowKeys.setCollectionModel(getTree());
            }
            else {
                System.out.println("called 3");
            }
            if (getTree().getRowKey() != null) {
                System.out.println("called 4");
                List<Integer> l = (List<Integer>) getTree().getRowKey();
                if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1) {
                    selectedRowKeys.add();
                }
            }
            else {
                System.out.println("called 5");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return selectedRowKeys;
    }

    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
        this.selectedRowKeys = selectedRowKeys;
    }

The TreeTable tag is still the same as in the previous code version.

Can you pls do me a favor to solve this problem, i m really stuck in it from
last 4 days. :-(

Appriciate in Advance.

Majid.


Jakob Korherr wrote:
> 
> Hi,
> 
> I wasn't familiar with tr:tree, but I tried a few scenarios and I came up
> with this solution:
> 
>     public RowKeySetTreeImpl getRowKeySet()
>     {
>         if (rowKeySet == null)
>         {
>             rowKeySet = new RowKeySetTreeImpl();
>             rowKeySet.setCollectionModel(getTreeModel());
>         }
> 
>         if (getTreeModel().getRowKey() != null)
>         {
>             List<Integer> l = (List<Integer>) getTreeModel().getRowKey();
>             if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
>             {
>                 rowKeySet.add();
>             }
>         }
> 
>         return rowKeySet;
>     }
> 
> This selects the second child of the first node in the tree. However, I
> don't know if there is an easier way to do this.
> 
> Regards,
> Jakob Korherr
> 
> 2009/12/18 omaji7 <om...@gmail.com>
> 
>>
>> Hi,
>>
>> My project is build in JSF, Hibernate and Faclets. i m using trinidad
>> treetable tag to build a tree with multiselection nodes. Now i m facing a
>> problem to initially selection of the nodes when page is loaded at the
>> first
>> time. i have tried alot to accomplish this task, but still unable to
>> retain
>> it. There is an attribute of "selectedRowKeys" in TreeTable which takes
>> the
>> object of "RowKeySet", but when i am building the tree in my bean, i
>> don't
>> know the RowKeys generated, so how do i get my desired RowKeys to be
>> selected in the tree?
>>
>> i am trying to provide the code below
>>
>> myTree.xhtml
>>
>> <tr:treeTable id="testTreeTable"
>>                                  value="#{RoleManageBean.tree}"
>>                                  var="node"
>>                                  rowSelection="multiple"
>>                                  initiallyExpanded="true"
>>                                  rowBandingInterval="1"
>>                                  horizontalGridVisible="true"
>>                                  verticalGridVisible="true"
>>
>> selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
>>                        <f:facet name="actions">
>>                            <tr:commandButton id="treeTableSelectButton"
>> text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
>>                        </f:facet>
>>                        <f:facet name="nodeStamp">
>>                            <tr:column headerText="Name">
>>                                <tr:outputText value="#{node.name}"/>
>>                            </tr:column>
>>                        </f:facet>
>>                        <f:facet name="pathStamp">
>>                            <tr:outputText value="#{node.name}"/>
>>                        </f:facet>
>>                    </tr:treeTable>
>>
>>
>> MyBean.java
>>
>> public class RoleManageBean implements Serializable {
>>
>>    private TreeModel tree;
>>    private RowKeySet selectedRowKeys = null;
>>
>> public TreeModel getTree() throws Exception {
>>        Application[] applications = dbops.getAllApplications();
>>        List<Node1> empty1 = Collections.emptyList();
>>        List<Node1> root1 = new ArrayList<Node1>();
>>        List<Node1> apps = new ArrayList<Node1>();
>>        for (Application application : applications) {
>>            Set<ApplicationPage> appPages =
>> application.getApplicationPage();
>>            List<Node1> pages = new ArrayList<Node1>();
>>            for (ApplicationPage applicationPage : appPages) {
>>                pages.add(new Node1(applicationPage.getPageName(),
>> String.valueOf(applicationPage.getPageID()), empty1));
>>            }
>>            apps.add(new Node1(application.getApplicationName(),
>> String.valueOf(application.getHomePage().getPageID()), pages));
>>
>>        }
>>        root1.add(new Node1("Applications", "0", apps));
>>        tree = new ChildPropertyTreeModel(root1, "children");
>>
>>        return tree;
>>    }
>>
>> public RowKeySet getSelectedRowKeys() {
>>        selectedRowKeys = new RowKeySetImpl();
>>        selectedRowKeys.add(String.valueOf("1,0"));
>>        System.out.println("called");
>>        return selectedRowKeys;
>>    }
>>
>>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
>>        this.selectedRowKeys = selectedRowKeys;
>>    }
>>
>>
>> Any guideline will be appriciated. Thanks in Advance
>>
>> Majid.
>>
>> Naresh Bhatia wrote:
>> >
>> > I am trying to learn the Trinidad TreeTable component. I created a
>> > standalone JSF application and copied the TreeTable example source from
>> > the demo war, along with other necessary infrastructure. I have the
>> > TreeTable up and running. The only problem is that the text nodes are
>> > showing the  html tags around it - for example:
>> > text:node_0 - the text is not bolded. Any idea what the problem
>> > might be? I am sure I am missing some sort of configuration.
>> >
>> > Thanks.
>> > Naresh
>> >
>> >
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://old.nabble.com/Trinidad-TreeTable-tp6311331p26842477.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: Trinidad TreeTable

Posted by Jakob Korherr <ja...@gmail.com>.
Hi,

I wasn't familiar with tr:tree, but I tried a few scenarios and I came up
with this solution:

    public RowKeySetTreeImpl getRowKeySet()
    {
        if (rowKeySet == null)
        {
            rowKeySet = new RowKeySetTreeImpl();
            rowKeySet.setCollectionModel(getTreeModel());
        }

        if (getTreeModel().getRowKey() != null)
        {
            List<Integer> l = (List<Integer>) getTreeModel().getRowKey();
            if (l.size() == 2 && l.get(0) == 0 && l.get(1) == 1)
            {
                rowKeySet.add();
            }
        }

        return rowKeySet;
    }

This selects the second child of the first node in the tree. However, I
don't know if there is an easier way to do this.

Regards,
Jakob Korherr

2009/12/18 omaji7 <om...@gmail.com>

>
> Hi,
>
> My project is build in JSF, Hibernate and Faclets. i m using trinidad
> treetable tag to build a tree with multiselection nodes. Now i m facing a
> problem to initially selection of the nodes when page is loaded at the
> first
> time. i have tried alot to accomplish this task, but still unable to retain
> it. There is an attribute of "selectedRowKeys" in TreeTable which takes the
> object of "RowKeySet", but when i am building the tree in my bean, i don't
> know the RowKeys generated, so how do i get my desired RowKeys to be
> selected in the tree?
>
> i am trying to provide the code below
>
> myTree.xhtml
>
> <tr:treeTable id="testTreeTable"
>                                  value="#{RoleManageBean.tree}"
>                                  var="node"
>                                  rowSelection="multiple"
>                                  initiallyExpanded="true"
>                                  rowBandingInterval="1"
>                                  horizontalGridVisible="true"
>                                  verticalGridVisible="true"
>
> selectedRowKeys="#{RoleManageBean.selectedRowKeys}">
>                        <f:facet name="actions">
>                            <tr:commandButton id="treeTableSelectButton"
> text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
>                        </f:facet>
>                        <f:facet name="nodeStamp">
>                            <tr:column headerText="Name">
>                                <tr:outputText value="#{node.name}"/>
>                            </tr:column>
>                        </f:facet>
>                        <f:facet name="pathStamp">
>                            <tr:outputText value="#{node.name}"/>
>                        </f:facet>
>                    </tr:treeTable>
>
>
> MyBean.java
>
> public class RoleManageBean implements Serializable {
>
>    private TreeModel tree;
>    private RowKeySet selectedRowKeys = null;
>
> public TreeModel getTree() throws Exception {
>        Application[] applications = dbops.getAllApplications();
>        List<Node1> empty1 = Collections.emptyList();
>        List<Node1> root1 = new ArrayList<Node1>();
>        List<Node1> apps = new ArrayList<Node1>();
>        for (Application application : applications) {
>            Set<ApplicationPage> appPages =
> application.getApplicationPage();
>            List<Node1> pages = new ArrayList<Node1>();
>            for (ApplicationPage applicationPage : appPages) {
>                pages.add(new Node1(applicationPage.getPageName(),
> String.valueOf(applicationPage.getPageID()), empty1));
>            }
>            apps.add(new Node1(application.getApplicationName(),
> String.valueOf(application.getHomePage().getPageID()), pages));
>
>        }
>        root1.add(new Node1("Applications", "0", apps));
>        tree = new ChildPropertyTreeModel(root1, "children");
>
>        return tree;
>    }
>
> public RowKeySet getSelectedRowKeys() {
>        selectedRowKeys = new RowKeySetImpl();
>        selectedRowKeys.add(String.valueOf("1,0"));
>        System.out.println("called");
>        return selectedRowKeys;
>    }
>
>    public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
>        this.selectedRowKeys = selectedRowKeys;
>    }
>
>
> Any guideline will be appriciated. Thanks in Advance
>
> Majid.
>
> Naresh Bhatia wrote:
> >
> > I am trying to learn the Trinidad TreeTable component. I created a
> > standalone JSF application and copied the TreeTable example source from
> > the demo war, along with other necessary infrastructure. I have the
> > TreeTable up and running. The only problem is that the text nodes are
> > showing the  html tags around it - for example:
> > text:node_0 - the text is not bolded. Any idea what the problem
> > might be? I am sure I am missing some sort of configuration.
> >
> > Thanks.
> > Naresh
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/Trinidad-TreeTable-tp6311331p26841512.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>