ADF Tree row selection and af:commandLink

Hello,
I'm quite new to JDeveloper and ADF. I'm using JDev 11.1.1 and get some issues while trying to set up a "qualifications" selection tree. Here is a summary :
I'm dealing with "Qualification" objects. A qualification has an id,name and 'selected' attribute. A Qualification can contain a list of subqualifications (same type 'Qualification'), and so on, with no limits of levels. I would like to display this structure as a tree with, for each (sub-)qualification a selectbox showing the status (selected or not) and modifiable by the user.
The qualifications are exposed to the data controls through a ResourceManager class function getQualifications(), and the datacontrol is dropped as a tree in the jsf page. The tree is bind to a backing bean 'qualificationManagerBean', and i've added an ActionListener to handle node selection (set node as current row and call update action)
page definition :
<executables>
<accessorIterator MasterBinding="ResourceManagerIterator"
Binds="qualifications" RangeSize="25"
DataControl="ResourceManager"
BeanClass="com.mobileit.planning.web.Qualification"
id="qualificationsIterator"/>
</executables>
<bindings>
<tree IterBinding="qualificationsIterator" id="qualifications">
<nodeDefinition DefName="com.mobileit.planning.web.Qualification">
<AttrNames>
<Item Value="name"/>
<Item Value="selected"/>
</AttrNames>
<Accessors>
<Item Value="subqualifications"/>
</Accessors>
</nodeDefinition>
</tree>
</bindings>
</pageDefinition>
in the jsf page :
<af:form>
<af:tree value="#{bindings.qualifications.treeModel}"
binding="#{qualificationManagerBean.tree}" var="node">
<f:facet name="nodeStamp">
<af:commandLink text="#{node}" id="test"
actionListener="#{qualificationManagerBean.clickTree}">
<af:setActionListener from="#{qualificationManagerBean.tree.rowKey}"
to="#{qualificationManagerBean.clickedNodeRowKey}"/>
</af:commandLink>
</f:facet>
</af:tree>
</af:form>
The result is that tree is well displayed, but only the first level of the tree triggers the 'clickedNodeRowKey' and 'clickTree' action. When i click on sub-levels, the page gets submitted but actions are not called.
I've also tried to map the action to a method in my ResourceManager but the result is the same, action gets never called :
page def file :
<methodAction id="qualificationSelector" RequiresUpdateModel="false"
Action="invokeMethod" MethodName="qualificationSelector"
IsViewObjectMethod="false" DataControl="ResourceManager"
InstanceName="ResourceManager.dataProvider">
<NamedData NDName="ref"
NDValue="#{node.name}"
NDType="java.lang.String"/>
</methodAction>
Do you have any idea of what I'm doind wrong?
Thank you for your help
Stephane

I finally got this to work by defining the tree model in a managed bean. So there must be something wrong with my iterator binding...

Similar Messages

  • Hide disclose icon form ADF tree row depending on row data

    Hello,
    I've got an ADF tree based on recursive View Object. So basically we don't know how many tree levels are there, but depending on a row data we know that the row is a leaf and there will be no children rows.
    But the disclose icon is there event though we definitely know it is currently useless.
    So is there any way to hide the disclose icon from ADF tree(treetable) row depending on row data?
    Thanks.
    ADF 11R2

    Great, it works.
    The only thing is suggested style just makes the icon invisible, but it is still there and can be clicked.
    I applied .hideDiscloseIcon af|treeTable::collapsed-icon-style
    display: none;
    }and there is no disclose button at all.

  • ADF multiple row selection using checkbox

    One of the basic feature missing in ADF 11g is multiple row selection using checkbox (ADF supports multiple row selection by CTRL+CLICK) and business users doesn't like the idea of CTRL+CLICK especially when the volume of click is more. Our requirement is to show the records as selected, on click of checkbox. We implemented multiple row selection by giving a checkbox and on submission, iterate all the rows and filter only selected rows for further processing. The approach works fine,but it is very slow when the volume of data is more, say 10 thousand rows. For 4 thousand records, iterating everything takes more than 200 secs !
    Had the multiple row selection been the ADF standard way using CTRL+CLICK, and retrieving the selected rows using method theTable.getSelectedRowKeys() works much faster (completes in millisecs for 4 thousand records). Somehow ADF fetches the selected records much faster this way. Our requirement is on click of the checkbox, the ADF should select the records ( the same way it is doing CTRL+CLICK) and all such selected rows should be retrievable using the ADF method theTable.getSelectedRowKeys()
    Is there any way it can be done?
    Regards,
    Antony.

    Hi All,
    We have implemented the select and select all using check-box and it is working fine. Issue here is the performance is too slow
    Assume SelectValue is the VO coulmn for the checkbox to select the values. To filter out the selected rows, we use the following line
    Row[] pidRows = pidView.getFilteredRows("SelectValue", Boolean.TRUE);
    it is very taking more than 2 minutes if the total number of rows are *4 thousands* and only if 2 rows are selected.
    Whereas with the CTRL+CLICK standard approach, ADF has a built in API theTable.getSelectedRowKeys(); to get only the selected rows, and the built in API takes only few milliseconds to get the selected rows. Users are not agreeing to the CTRL+CLICK approach as it is not user friendly. Suggest if there is a way to make the select box to make it work the same way as CTRL+CLICK.
    code snippet to do the standard way :
    RowKeySet sk = theTable.getSelectedRowKeys();
    _logger.info("row count of select "+sk.getSize());;+
    Iterator selection =sk.iterator();
    EmpVORowImpl empRow = null;
    +while (selection.hasNext()) {+
    Object rowKey = selection.next();
    theTable.setRowKey(rowKey);
    rowdata = (JUCtrlHierNodeBinding)theTable.getRowData();
    empRow  = (EmpVORowImpl)rowdata.getRow();
    _logger.info("Emp # "+empRow.getEmpno() +" Emp Name : "+empRow.getEname() +" Is selected ? "+empRow.getisChecked());+
    +}+

  • [SOLVED :)] Need help with adf table row selection

    Hi,
    In my application I am displaying results in a table. The DisplayRow property of table is set to Selected
    There are Next and Back buttons which help user to view details associated to the next/previous rows.
    I am using ADF 11g
    When user clicks Next or Previous button, then the selection of the row should also gets updated
    To achieve this i wrote below piece of code:
    this.tblS.getSelectedRowKeys().clear();+
    this.tblS.setRowIndex(count);+
    RowKeySet rks =  tblS.getSelectedRowKeys();+
    rks.add(tblS.getRowKey());+
    rks =  tblS.getSelectedRowKeys();+
    ISSUE:_
    When i run application and click Next/Previous Button, all functionalities do take place properly, but a null pointer exception is also thrown._+
    If i remove DisplayRow property of table from Selected to Default, every thing works good and no Exception is thrown_+       
    But as records in my table are going to be around 50-60 everytime, i need to set DisplayRow property of table to Selected.
    Is there any way to achieve this? Solve this problem?
    Some more details:_
    I am using a POJO class to create DataController. This DataController is having a view Object which is used to create results table.
    I have defined Primary key for my POJO Data Controller.
    Here is code of xml file:*
    +<?xml version="1.0" encoding="UTF-8" ?>+
    +<JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="11.1.1.52.5"+
    id="ProductListBean" Package="xxadf.mm.resources"
    BeanClass="xxadf.mm.resources.ProductListBean"
    isJavaBased="true">
    +<Attribute Name="Product" Type="java.lang.String" PrimaryKey="true"/>+
    +<Attribute Name="Stock" Type="java.lang.String"/>+
    +<Attribute Name="Rate" Type="java.lang.String"/>+
    +<Attribute Name="Accuracy" Type="java.lang.String"/>+
    +<Attribute Name="Details" Type="java.lang.String"/>+
    +<ConstructorMethod IsCollection="true"+
    Type="xxadf.mm.resources.ProductListBean"
    BeanClass="xxadf.mm.resources.ProductListBean"
    id="ProductListBean"/>
    +</JavaBean>+
    Error Log:*
    SEVERE: Server Exception during PPR, #1
    java.lang.NullPointerException
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.getRowIndex(RowDataManager.java:200)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.getRowIndex(FacesCtrlHierBinding.java:506)
    at org.apache.myfaces.trinidad.component.UIXIterator._fixupFirst(UIXIterator.java:414)
    at org.apache.myfaces.trinidad.component.UIXIterator.__encodeBegin(UIXIterator.java:392)
    at org.apache.myfaces.trinidad.component.UIXTable.__encodeBegin(UIXTable.java:168)
    at org.apache.myfaces.trinidad.component.UIXCollection.encodeBegin(UIXCollection.java:517)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeHorizontalChild(PanelGroupLayoutRenderer.java:458)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$100(PanelGroupLayoutRenderer.java:30)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:618)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:560)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:317)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:392)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$300(PanelGroupLayoutRenderer.java:30)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:641)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:560)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:317)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer.access$100(ShowDetailItemRenderer.java:31)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer$ChildEncoderCallback.processComponent(ShowDetailItemRenderer.java:491)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer$ChildEncoderCallback.processComponent(ShowDetailItemRenderer.java:464)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer._encodeChildren(ShowDetailItemRenderer.java:406)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer.encodeAll(ShowDetailItemRenderer.java:114)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adf.view.rich.render.RichRenderer.encodeStretchedChild(RichRenderer.java:1523)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer.access$500(PanelTabbedRenderer.java:38)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer$BodyEncoderCallback.processComponent(PanelTabbedRenderer.java:969)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer$BodyEncoderCallback.processComponent(PanelTabbedRenderer.java:920)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer._renderTabBody(PanelTabbedRenderer.java:519)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer.encodeAll(PanelTabbedRenderer.java:233)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:221)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:820)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1494)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:771)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
    at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:202)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:685)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:261)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:193)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:54)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
    at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Please Help I have been struggling with this issue for long.
    Thanks and Regards
    Manav Ratra
    Edited by: user11255144 on Feb 8, 2010 5:33 AM

    Hi Arun,
    Thanks for replying.
    Actually in my application there is one result table and a section that is displaying complete details of the product selectd in result table.
    The next/previous buttons are not binded with result table.
    What I am doing is, I am puuliing data from VO and displaying it on form, whenever any of these buttons is clicked.
    As soon as these buttons are clicked data is coming up, but selection state of table is not getting updated.
    So to update selection state i wrote piece of code described in my previous post.
    Everything works fine if displayRow property of table is not set to selected.
    If i set display row property of table to selected, then i get a null pointer exception with message log defined in previous post.
    Although NPE is thrown, yet all data is properly fetched and table selection is also updated. But am not able to get how this NPE is coming and hpw to fix it .
    (I need to keep displayRow = selected, for all other cases NPE is not thrown)
    Please help..
    Thanks and Regards
    Manav Ratra

  • How to make the default tree row selection programatically

    I have one use case where I am displaying the tree table based on some parameter which is just for filtering the table and display the part of hierarchy.
    The problem here is I want to make a default selected row when the tree will be rendered to UI based on the primary key(that is the input parameter).
    can you please tell me how to do this.I am using jdev 11g.
    thanks,
    Harsh

    Hi,
    for this you need to know where in the path the PK is. If e.g. the PK is for a second level node then you need to pass the first level node PK as well. Nodes in a tree are defined as ArrayLists. So unfortunately your question doesn't provide enough information
    Frank

  • ADF 11g Row Selection in a Table with radio button

    Hi there,
    I need to select one row with a radio button and then take some action on those rows via command buttons.
    I need to use a Radio Button and not the table property rowSelection provided with the latest features of ADF 11g.
    In ADF 10g you can use tableSelectOne component that missing in 11g. How you can implement that with ADF 11g?
    Regards, Alex

    Well, ADF 11g doesn't have that capability, so you have to build it yourself. If don't want to build it yourself, you could use the Trinidad components instead of ADF 11g. If you don't want either of those options, then sorry :)
    John

  • Af:Table retains rows selected and selection listener doesnt work

    Hi
    I have a table with a list of objects passed to it to be rendered. When the user selects an object and clicks on the launch button above the table, it launches a new page and on the new page when the user clicks on cancel it brings back to the same page where the table is present. While coming back to this page, the row that was earlier selected by the user is highlighted and a click on the same row doesnt enable the selection listener. I have to click on some other row and then click the old row if I want to relaunch the old page
    <af:table var="row" rowBandingInterval="0" id="tblProcedures" emptyText="#{dbProcedureMsg.TABLE_EMPTY_TEXT}"
    summary="#{dbProcedureMsg.TABLE_SUMMARY_TEXT}"
    value="#{pageFlowScope.db_provisioning_DeploymentProcedurePageModel.collectionModel}" filterVisible="false"
    columnStretching="column:colDescription" rowSelection="single" width="99.7%"
    selectionListener="#{pageFlowScope.db_provisioning_DeploymentProcedurePageModel.processSelection}">
    There is one more table which behaves the same way. But other tables which are part of my application work correctly.
    Any idea on what I might be doing wrong ?
    Thanks in advance

    Hi,
    To be honest Million rows in excel its questionable for me
    I would try to find alternate solution rather than killing ADF on client and then your DBA will call you for a urgent meeting. Even if you make it work with ADF, people will not going use it due to huge amount of data load.
    What you can do is to call external report like Jasper, BIRT etc. etc. and provide option there to export to Excel based on your criteria (but million rows is again questionable)
    OR
    one idea is to give option at client side to request a report with button at af:TABLE toolbar ...then you can schedule a job at database server level using PL/SQL dbms_scheduler package with OS script to generate text file on server and FTP it to some machine.
    Hope it help,
    ZB

  • Read only af:table first row select and focus on form load

    I use a read only af:table in my page. When my page loads and I click on my table, then I can use up / down arrow keys to navigate in my table's rows. But if I don't click on the table, I can't navigate in my table's rpws.
    What can do in my page to give the first focus to my table's first row and navigate in my rows without using mouse clicks....
    findElementById function in javascript does not work in jdeveloper 11...
    Do you help me for this?
    Thanks..

    Hi,
    actually findElementById does work, but you should use the ADF client side framework for this. Add a clientListener to the component that intercepts the keyboard usage and make it callin the next record on the table.
    I'll take a note for a how-to to put on my blog as I don't have the code ready. However, its possible this way
    Frank

  • How to populate a adf tree programmatically

    Hi,
    I am creating a adf tree (single select) which is the menu of my application.
    Each node of my tree is a command link.
    I am reading the data from a table through a view object (adfbc).
    I want to somehow manipulate my managed bean so that I can display selected rows (permission based) in the adf tree.
    If I am using the condition in the rendered attribute then the nodestamp facet is still rendered and there is a blank row displayed for a node which should not be displayed.
    The other way I was thinking to Iterate the entire tree in my managed bean and remove the nodes which should not be displayed.
    This way the tree is manipulated before it is endered and hence it will not have any blank row in the place of nodes not to be shown.
    Please let me know a few iterating code strip and where(in which method) I should put it in my managed bean to make it work?
    As of now I was putting a tree iterator code in the getMenuTree() method of my managed bean where menuTree is the RichTree object for the tree which I have to render in my UI.
    CollectionModel model = (CollectionModel)this.menuTree.getValue;
    treeBinding = (JUCtrlHierBinding)model.getWrappedData();
    JUCtrlHierNodeBinding root = treeBinding.getRootNodeBinding();
    checkPermission(root);
    List<JUCtrlHierNodeBinding> children = root.getChildren();
    if (children != null)
    for (JUCtrlHierNodeBinding _node : children)
    checkPermission(_node);
    checkPermission - is the method which reads few bindings from the node and decides that this node id eligible for display or not based on user permission.
    But with this code I am getting the node hierarchical structure of the selected node only.
    Thanks in advance

    I thought in this direction... but I cannot access the permission data from VO level as I have to provide this menu interface to multiple projects.
    And the menu I am creating is in a template from where I need to get permission bean of various other projects.
    any other suggestions ?

  • Row Selection

    Hi all,
    I have a data table and if a row is selected I want it to load a different JSF page. I want to use the row selection feature as the highlighting aspect is useful. However, row selection seem to me to only link to a listener, so I can load parts of the current page based on a row selection but not issue a command to take me to another page. Currently I have had to disable the row selection and just stick an icon at the start of the which is an commandImageLink.
    Is there a way to perform a action when a row is selected? I hope I'm missing something obvious as this would seem to me to be quite a common thing. Maybe its not there? is there a way to achieve this functionality? Maybe some sort of request dispatched in the selection listener method?
    Cheers,
    Dale

    Hi John, thanks for reply, don't understand how though? I have a rough idea of how to use the selectionlistener as I have used it in a few places but not to jump to another page, so I have tried just changing return type from void to String but that does link away...
        public String LoadTask(SelectionEvent selectionEvent) {
            RichTable table = (RichTable)selectionEvent.getComponent();
            Task selectedTask = (Task)table.getSelectedRowData();
            // to some stuff
            return "showTask"
        }So what I want to do is navigator to "showTask" when I select a row but I just can't see a mechanism to do that?
    Table looks like this...
                    <af:table value="#{Tasklist.taskList}" var="row"
                              rowBandingInterval="1" id="t1" rowSelection="single"
                              disableColumnReordering="true" emptyText="No tasks matching criteria"
                              fetchSize="#{Tasklist.pagingData.rowsPerPage}"
                              partialTriggers="::cb1 ::cb2 ::cb3 ::cb4"
                              immediate="true"
                              sortListener="#{Tasklist.SortTasklist}"
                              selectionListener="#{Tasklist.LoadTask}">
                        <af:column frozen="true" id="sel" headerText=" " width="30">
                            <af:commandLink id="loadLink" action="#{Tasklist.loadTask}" text="Load">
                              <f:param id="tskId" name="taskId" value="#{row.systemAttributes.taskId}"/>
                            </af:commandLink>
                        </af:column>
                        <af:forEach items="#{Tasklist.columnsMetaData}" var="colDef">
                            <af:column sortable="true" sortProperty="title" headerText="#{colDef.headerText}" align="start" id="dataCol">
                              <af:outputText value="#{ExprBean[colDef.valueBinding]}" id="ot4"/>
                            </af:column>
                        </af:forEach>
                    </af:table>I want to do away with that Load column but just can't seem to do it with row selection :o(
    Cheers,
    Dale

  • Using Row Selection in Analysis Web Item & Filter Command

    In the 7.0 WAD (Web Application Designer), I have two analysis items that both have different data providers, DP_1 & DP_2. The two data providers are views from the same query.
    In the properties of the first analysis item (DP_1), I'm using the Row Selection - 'Single with Commands', and I want to have a command that will filter on the value of the characteristic in the row selected and transfer that filter to the second analysis itme (DP_2). Is this possible?

    yes, you can do this. There is XHTML code:
    <bi:SET_SELECTION_STATE_BY_BINDING xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp">
      <bi:TARGET_DATA_PROVIDER_REF_LIST type="ORDEREDLIST">
    // target data_provider:
        <bi:TARGET_DATA_PROVIDER_REF index="1" value="DP_2">
        </bi:TARGET_DATA_PROVIDER_REF>
      </bi:TARGET_DATA_PROVIDER_REF_LIST>
      <bi:SELECTION_BINDINGS type="UNORDEREDLIST">
        <bi:SELECTION_BINDING type="COMPOSITE" index="1">
    // target infoobject
          <bi:CHARACTERISTIC value="0DOC_ITEM__0VENDOR" text="0DOC_ITEM__0VENDOR">
          </bi:CHARACTERISTIC>
    // selection type
          <bi:SELECTION_BINDING_TYPE type="CHOICE" value="ITEM_CHARACTERISTIC">
            <bi:ITEM_CHARACTERISTIC type="COMPOSITE">
    // source analysis table
              <bi:ITEM_REF value="ANALYSIS_ITEM_1">
              </bi:ITEM_REF>
    // source infoobject
              <bi:CHARACTERISTIC value="0DOC_ITEM__0VENDOR" text="0DOC_ITEM__0VENDOR">
              </bi:CHARACTERISTIC>
            </bi:ITEM_CHARACTERISTIC>
          </bi:SELECTION_BINDING_TYPE>
        </bi:SELECTION_BINDING>
      </bi:SELECTION_BINDINGS>
    </bi:SET_SELECTION_STATE_BY_BINDING>
    Or you can do this using command wizard! good luck!

  • How can I make a row selected in JTable?

    I want to make a row selected and highlighted in JTable programmatically.
    But, I couldn't find method like setSelected(int row).
    How can I do this?

    try this ....
    private void makeRowVisible(JTable table, int row) {
         java.awt.Rectangle cellRect = table.getCellRect(row, 0, true);
         if (cellRect != null) {
              table.scrollRectToVisible(cellRect);
    }

  • Sysdate changes when number of rows selected are huge

    My requirement is that same date and time should be selected for all the rows returned by the query.
    Eg: Select empno, ename , sysdate from Emp
    If the query runs for more than a second, then the second component of SYSDATE will be different.
    What I want is that the query firing time should be selected for all the rows returned by the query.
    I hope there should be a way in Oracle to do this

    Have you actually seen this happen?
    On testing in Oracle 8.1.7i environment with a query
    select col1, col2, to_char(sysdate,'hh24:mi:ss')
    from big_table;
    which returned approx 3m rows and executed for over 8 minutes the sysdate value was the same for the first row selected and the last row selected, and was the time at the start of the query.
    Kevin is correct that Oracle gets the the value of Sysdate once when the query is executed and uses that value until the time that a new query is parsed.
    HTH
    Dave

  • Row Selection in ALV Grid created using CL_GUI_ALV_GRID

    Hi,
    I have ALV grid using cl_gui_alv_grid. I want to capture the row selection and display the selected rows in 2nd ALV grid (using cl_gui_alv_grid).
    Method CALL METHOD Grid->get_selected_rows giving right no. of selected records first time and process these records by POST button and hence shows these records in next alv grid. but when i came back to 1st ALV by pressing BACK button on 2nd ALV then if I again select records on the same 1st ALV grid the same Method CALL METHOD Grid->get_selected_rows fires again. but this times it wouldn't give the selected records. I mean first time this gives me correct no. of selected records but 2nd time wouldn't.
    how do I capture the row selection.?
    Kindly suggest me. helpful answer will be appreciated.
    Thanx in Advance.
    Robin

    Hi,
    Write this code, you have to free the container.
    MODULE user_command_0101 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
           c_container->free( ).
           c_container1->free( ). " this is the container of secondary list.
           clear: r_grid,  r_grid1, c_container, c_container1.
          LEAVE TO SCREEN 100.
      ENDCASE.
    Regards and Best wishes.

  • JTable row selection with tab key

    Helo.
    I'm having a problem selecting rows in a JTable. The JTable is with single row selection and without column and cell selection. When I press <tab> the selection changes to another cell, and I wanna it to change to the other row of the table, can anyone help me? I think this is a easy one and I haven�t found a way to do it. I�m using JBuilder for the development.

    The default Action for the Tab KeyStroke is to move focus to the next cell.
    The default Action for the Enter KeyStroke is to move focus to the next line.
    So this functionality is already available in JTable by default.
    If you want to Tab Key to work the same way as the Enter Key then you need to map the Tab Key to use the Action assigned to the Enter Key.
    This [url http://forum.java.sun.com/thread.jsp?forum=57&thread=505866]posting shows how you can reassign an Action for a given KeyStroke.
    For more information on this topic read this section from the Swing tutorial on [url http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html]How to Use Key Bindings.

Maybe you are looking for

  • How do I set up Thunderbird to access Mediacom email account

    Trying to set up Thunderbird to access email on Mediacom email servive. should be encrypted, but Thundeerbird only finds unencrypted connection. When I try to enter settings, Tbird fails to find access. If i try to accept lower security settings, Tbi

  • Records are not getting updating in to Data Targets

    hai friends... IN RSMO AFTER THAT STATUS BAR.....IN THAT --> Request successfully loaded into PSA - start further update Diagnosis The request has as data target "only PSA". It arrived there successfully. System Response The request has not yet been

  • Error in Adding new vritual machine server to HaA cluster ???

    Hi when i adding new Server to my cluster i see this error Check prerequisites to add server (192.168.20.253) to server pool (karkas) succeed 2009-11-29 12:16:33     Check prerequisites to add server (192.168.20.253) to server pool (karkas) succeed 2

  • ITunes library duplicates caused by iMatch

    Why does turning on iMatch completely mess up my iTunes library? It creates duplicates & also causes the original songs in my music library to suddenly fail to locate their files. And if I use the song version that's in iCloud, I lose the ratings, pl

  • Add datafile standby (STANDBY_FILE_MANAGEMENT is set to MANUAL)

    Hi Assume STANDBY_FILE_MANAGEMENT is set to MANUAL and I want to add a datafile to primary database. According to following link: I have to take the tablespace offline,etc.. Is there any other way, without taking the tablespace to offline mode. http: