Af:TreeTable Child Row Detail.

Hi,
I have a af:treetable with one nodeStamp & one pathStamp. Single selection is applied in af:treetable.
How I get the selected child row's attribute value in java bean, in case pressing a button.
This is the case where I expand any node & among many child row details, I select anyone.
I am using jdev 11.1.1.3 with ADF RC.
Thanks.

Under any node, if I am selecting any child row, it is showing detail for 1st row for that node.
I am following "How-to access the selected row data in ADF bound TreeTable and Tree" from http://www.oracle.com/technetwork/developer-tools/adf/learnmore/index-101235.html
Thanks.
Solved.

Similar Messages

  • How to make selected and active a child row of a treeTable?

    Hello,
    I am inserting a new child row into a af:treeTable, disclosing it, but I can't figure out how to make it selected and active so the focus of the user to go on it.
    Jdeveloper version 11.1.2.3.0
    This is how I am inserting the child node:
    public void createLocation(RowIterator ri, Key selectedNodeKey) {
            final String locationCategoryViewDef = "model.views.LocationCategoryView";
            if (ri != null && selectedNodeKey != null) {
                Row[] found = ri.findByKey(selectedNodeKey, 1);
                if (found != null && found.length == 1) {
                    Row foundRow = found[0];
                    String nodeDefname = foundRow.getStructureDef().getDefFullName();
                    RowSet parents = (RowSet)foundRow.getAttribute("LocationView");
                    Row childrow = parents.createRow();
                    //hardcoded locationId
                    childrow.setAttribute("LocationId", 434558);
                    parents.insertRow(childrow);
    }  And this is the treeTable:
    <af:treeTable value="#{bindings.LocationCategoryView2.treeModel}" var="node" varStatus="vaarr"
                  partialTriggers="gaga gag4a ga4a"
                  selectionListener="#{bindings.LocationCategoryView2.treeModel.makeCurrent}"
                  displayRow="selected" rowSelection="single" id="tt1" editingMode="clickToEdit"
                  horizontalGridVisible="true" binding="#{pageFlowScope.treeTableBean.sampleTreeTable}">
        <f:facet name="nodeStamp">
            <af:column id="c5" width="15">
                <af:outputText value="#{node}" inlineStyle="display:none" id="ot1"/>
            </af:column>
        </f:facet>
        <f:facet name="pathStamp">
            <af:inputText value="#{node}" id="ot2"/>
        </f:facet>
        <af:column id="c2" headerText="Location CategoryName">
            <af:inputText value="#{node.LocationCategoryName}" inlineStyle="font-weight:900" id="ot45"/>
        </af:column>
        <af:column id="c6" headerText="Location CATID">
            <af:inputText value="#{node.LocationCategoryId}" inlineStyle="font-weight:900" id="ot6"/>
        </af:column>
        <af:column id="cgg2" headerText="Var INDEx">
            <af:outputText value="#{vaarr.index}"/>
        </af:column>
        <af:column id="c1" headerText="Location Name">
            <af:inputText value="#{node.LocationName}" id="ot3"/>
        </af:column>
        <af:column>
            <af:panelGroupLayout layout="vertical">
                <af:commandLink id="gaga" text="addLocation" inlineStyle="color:red"
                                action="#{pageFlowScope.treeTableBean.createChildren}"
                                rendered="#{node.LocationId == null}" partialSubmit="true"/>
                <af:commandLink id="gag4a" text="delete category" inlineStyle="color:blue"
                                partialSubmit="true" rendered="#{node.LocationId == null}"
                                action="#{pageFlowScope.treeTableBean.deleteChildRow}"/>
                <af:commandLink id="ga4a" text="delete location" inlineStyle="color:green"
                                partialSubmit="true" rendered="#{node.LocationId != null}"
                                action="#{pageFlowScope.treeTableBean.deleteChildRow}"/>
            </af:panelGroupLayout>
        </af:column>
    </af:treeTable>

    Yes I did now but nothing changes. The current, selected and active row is still the parent node...
    Even I am adding AdfFacesContext.getCurrentInstance().addPartialTarget(this.sampleTreeTable); for just in case..

  • How to list selected parent and child rows with values from ADF TreeTable

    I created one tree table having three levels using DepartmentsVO, EmployeesVO and
    JobHistoryVO where these tables contains parent and child relationship on database.
    Then i added one more column to the tree table which displays selectBooleanCheckBox. This
    check box is available for parent and child rows in that column.
    My first concern is i
    want to list out all the parentids and its child ids from three levels where the check
    box is selected.
    second concern is
    if i select the check box for a parent row, then the remaining check boxes for child rows also select automatically which are comes under the parent row.
    Thanks in advance.
    jk

    hi Frank,
    Thanks for the quick reply...
    As I mentioned before I am able to get the children using JUCtrlHierNodeBinding. but wanted to change the value of child row which have specific data.
    Is it possible through JUCtrlHierNodeBinding to update data of child and parent?? If so then can you please post the code snippet for the same???
    Viral

  • Cannot sort child rows in multilevel tree table

    Hi,
    I originally hijacked a two-year-old forum thread that was vaguely similar to my issue, but a kind forum moderator split my post away
    (and deleted my other hijack post asking this same question)
    so that my inquiry might be viewable on its own.
    Hopefully someone can pay attention to my issue instead of getting it confused with those other old forum threads.
    So, here we go ...
    Is sorting in a treeTable at a particular level possible? Just want to let you I have tried the following approaches to do this. But it dis not work for me.
    I have tree table with 2 levels. I am trying to sort the child rows based on its column say "Display Sequence".
    User can type in number in this column which contains input text. On value change event of the this field, all the
    child rows in the level 2 need to be sorted. This needs to be done without committing the data. On commit it works,
    because it sorts based on order by clause. I want the child rows to be sorted on value change event. Following
    various approaches I tried.
    TreeModel tModel = (TreeModel)treeTable.getValue();
    SortCriterion sortCriterion = new SortCriterion("DisplaySequence",true);
    List<SortCriterion> sortCriteriaList = new ArrayList<SortCriterion>();
    sortCriteriaList.add(sortCriterion);
    tModel.setSortCriteria(sortCriteriaList);
    The above code does not work, As "DisplaySequence" is not available in the parent view object.
    Here is approach no 2
    JUCtrlHierBinding treeTableBinding = null;
    JUCtrlHierNodeBinding nodeBinding = null;
    JUCtrlHierNodeBinding parentNodeBinding = null;
    JUCtrlHierTypeBinding nodeHierTypeBinding = null;
    Key rowKey;
    Object dispSeqObj;
    Number displaySequence = null;
    Map<Key,Number> keyValueMap = null;
    Set<Key> emptyValueKeySet = null;
    Map<Key,Number> sortedKeyValueMap = null;
    DCIteratorBinding target = null;
    Iterator iter = null;
    int rowIndex = 1;
    RowSetIterator rsi = null;
    Row currentRow = null;
    Row row = null;
    RowKeySet selectedRowKey = lookupTreeTable.getSelectedRowKeys();
    Iterator rksIterator = selectedRowKey.iterator();
    if (rksIterator.hasNext()) {
    List key = (List)rksIterator.next();
    System.out.println("key :"+key);
    treeTableBinding = (JUCtrlHierBinding) ((CollectionModel)lookupTreeTable.getValue()).getWrappedData();
    nodeBinding = treeTableBinding.findNodeByKeyPath(key);
    parentNodeBinding = nodeBinding.getParent();
    //rsi = nodeBinding.getParentRowSetIterator();
    rsi = parentNodeBinding.getChildIteratorBinding().getRowSetIterator();
    keyValueMap = new LinkedHashMap<Key,Number>();
    emptyValueKeySet = new LinkedHashSet<Key>();
    // Gets the DisplaySequence by iterating through the child rows
    while(rsi.hasNext()) {
    if(rowIndex==1)
    row = rsi.first();
    else
    row = rsi.next();
    rowKey = row.getKey();
    dispSeqObj = row.getAttribute("DisplaySequence");
    if(dispSeqObj!=null && dispSeqObj instanceof Number) {
    displaySequence = (Number)dispSeqObj;
    keyValueMap.put(rowKey, displaySequence);
    }else {
    emptyValueKeySet.add(rowKey);
    rowIndex++;
    rowIndex = 0;
    // Sort the numbers using comparator
    DisplaySequenceComparator dispSeqComparator = new DisplaySequenceComparator(keyValueMap);
    sortedKeyValueMap = new TreeMap<Key,Number>(dispSeqComparator);
    sortedKeyValueMap.putAll(keyValueMap);
    rsi.reset();
    nodeHierTypeBinding = nodeBinding.getHierTypeBinding();
    System.out.println("nodeHierTypeBinding :"+nodeHierTypeBinding);
    String expr = nodeHierTypeBinding.getTargetIterator();
    if (expr != null) {
    Object val = nodeBinding.getBindingContainer().evaluateParameter(expr, false);
    if (val instanceof DCIteratorBinding) {
    target = ((DCIteratorBinding)val);
    ViewObject targetVo = target.getViewObject();
    System.out.println("targetVo :"+targetVo);
    targetVo.setAssociationConsistent(true);
    //ri = target.findRowsByKeyValues(new Key[]{rowData.getRowKey()});
    rsi = parentNodeBinding.getChildIteratorBinding().getRowSetIterator();
    //rsi = nodeBinding.getParentRowSetIterator();
    // Rearrange the tree rows by inserting at respective index based on sorting.
    ViewObject vo = nodeBinding.getViewObject();
    iter = sortedKeyValueMap.keySet().iterator();
    while(iter.hasNext()) {
    currentRow = rsi.getRow((Key)iter.next());
    rsi.setCurrentRow(currentRow);
    rsi.setCurrentRowAtRangeIndex(rowIndex);
    //rsi.insertRowAtRangeIndex(rowIndex, currentRow);
    rowIndex++;
    iter = emptyValueKeySet.iterator();
    while(iter.hasNext()) {
    currentRow = rsi.getRow((Key)iter.next());
    rsi.setCurrentRow(currentRow);
    rsi.setCurrentRowAtRangeIndex(rowIndex);
    //rsi.insertRowAtRangeIndex(rowIndex, currentRow);
    rowIndex++;
    rsi.closeRowSetIterator();
    AdfFacesContext.getCurrentInstance().addPartialTarget(treeTable);
    private class DisplaySequenceComparator implements Comparator {
    Map<Key,oracle.jbo.domain.Number> dispSeqMap = null;
    public DisplaySequenceComparator(Map<Key,oracle.jbo.domain.Number> dispSeqMap) {
    this.dispSeqMap = dispSeqMap;
    public int compare(Object a, Object b) {
    Key key1 = (Key)a;
    Key key2 = (Key)b;
    oracle.jbo.domain.Number value1 = dispSeqMap.get(key1);
    oracle.jbo.domain.Number value2 = dispSeqMap.get(key2);
    if(value1.getValue() > value2.getValue()) {
    return 1;
    } else if(value1.getValue() == value2.getValue()) {
    return 0;
    } else {
    return -1;
    In the above code I tried to perform sorting of DisplaySequence values using comparator, then tried to rearrange
    nodes or rows based on sort resurts. But rsi.insertRowAtRangeIndex(rowIndex, currentRow) give
    DeadViewException...unable to find view reference. While setting current row also does not work.
    Approach 3.
    DCIteratorBinding iter1 =
    bindings.findIteratorBinding("childIterator");
    iter1.executeQuery();
    SortCriteria sc = new SortCriteriaImpl("DisplaySequence",false);
    SortCriteria [] scArray = new SortCriteria[1];
    scArray[0] = sc;
    iter1.applySortCriteria(scArray);
    Any help in Sorting Child nodes ADF treeTable is appreciated. Thanks in Advance.
    Abhishek

    Hi Frank,
    Thanks for your reply. I have tried similar approach for sorting tree table child rows based on user specified number and it works. But there is a limitation for this. This sorting works only for read only/transient view object. For updatable view object after sorting, data cannot be saved or updated, as it cannot find the rowid. Here is what I tried
    In the ParentViewImpl class,
    1. overrode the method createViewLinkAccessorRS, so that this method is forcefully executed.
    @Override
    protected ViewRowSetImpl createViewLinkAccessorRS(AssociationDefImpl associationDefImpl,
    oracle.jbo.server.ViewObjectImpl viewObjectImpl,
    Row row,
    Object[] object) {
    ViewRowSetImpl viewRowSetImpl = super.createViewLinkAccessorRS(associationDefImpl, viewObjectImpl, row, object);
    return viewRowSetImpl;
    2. Added the following method, which will be invoked on valueChange of DisplaySequence in child row. Expose this method through client interface. This method accept a parameter i.e. parent row key of the child row.
    public void sortChildRecords(Key parentKey) {
    ViewObject viewObject = null;
    String type = null;
    if(parentKey==null) {
    Row [] row = this.findByKey(parentKey, 1);
    RowSet rowSet = (RowSet)row[0].getAttribute("ChildVO");
    viewObject = rowSet.getViewObject();
    viewObject.setSortBy("DisplaySequence asc");
    }else {
    Row row = getCurrentRow();
    RowSet rowSet = (RowSet)row.getAttribute("ChildVO");
    viewObject = rowSet.getViewObject();
    viewObject.setSortBy("DisplaySequence asc");
    this.setQueryMode(ViewObject.QUERY_MODE_SCAN_DATABASE_TABLES |
    ViewObject.QUERY_MODE_SCAN_ENTITY_ROWS);
    this.executeQuery();
    For custom sort, lets say all the numbers should be display first in ascending order, and null or empty values to be display at the end need to override the getRowComparator method in the ChildViewImpl class,
    Here is the code for the same
    @Override
    public Comparator getRowComparator() {
    SortCriteria sortCriteria = new SortCriteriaImpl("DisplaySequence",false);
    SortCriteria [] sortCriterias = new SortCriteria[1];
    sortCriterias[0] = sortCriteria;
    return new DisplaySequenceComparator(sortCriterias);
    private class DisplaySequenceComparator extends RowComparator {
    public DisplaySequenceComparator(SortCriteria [] sortCriterias) {
    super(sortCriterias);
    public int compareRows(Row row1, Row row2) {
    Object dispSeqObj1;
    Object dispSeqObj2;
    Number dispSeq1 = null;
    Number dispSeq2 = null;
    boolean compareRow1 = true;
    boolean compareRow2 = true;
    if(row1!=null) {
    dispSeqObj1 = row1.getAttribute("DisplaySequence");
    if(dispSeqObj1!=null && dispSeqObj1 instanceof Number) {
    dispSeq1 = (Number)dispSeqObj1;
    }else {
    compareRow1 = false;
    if(row2!=null) {
    dispSeqObj2 = row2.getAttribute("DisplaySequence");
    if(dispSeqObj2!=null && dispSeqObj2 instanceof Number) {
    dispSeq2 = (Number)dispSeqObj2;
    }else {
    compareRow2 = false;
    if(compareRow1 && compareRow2) {
    if(dispSeq1.getValue() > dispSeq2.getValue()) {
    return 1;
    } else if(dispSeq1.getValue() == dispSeq2.getValue()) {
    return 0;
    } else {
    return -1;
    if(!compareRow1 && compareRow2)
    return 1;
    if(compareRow1 && !compareRow2)
    return -1;
    return 0;
    The above solution works properly, and sorts the child tree rows. But while saving the changes, update fails. I also came to know that in-memory sorting is applicable to read-only/transient view objects from some blogs and also mentiond in this link http://docs.oracle.com/cd/E24382_01/web.1112/e16182/bcadvvo.htm
    Is there any way that updatable view objects can be sorted and saved as well?
    Thanks,
    Abhishek
    Edited by: 930857 on May 2, 2012 7:12 AM

  • Incoming payment rows details in Crystal report

    Hi Xperts
    I want to create Payment Advice print layout in Crystal Report.  Can anybody tell me which table is related Incoming payment Row wise details in SAP.
    I need following Details in SAP (Row Details)
    Document No,  Document Date, Document Total
    Any body help me out regarding this
    Thanks
    Balaji

    Hi Balaji,
    Check this link.
    [Crystal Generic samples from SAP|https://websmp204.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700000635012009E&]
    It consists of most of all the documents in SAP.
    Hope this helps.
    Regards,
    Bala

  • How to populate the selected row details of table in the next view?

    hi,
    Im having a table, on selecting a particular row of a table by clicking on a radio button. i need that row details to be passed on(populated) to the next view when i navigate to that view by clicking on a button?
    Thanks & Regards,
    Suresh

    Hi Suresh,
    Your scenario is simple. Just follow the ex as shown below
    (Assuming you want default selection view provided by table itself.)
    1>Create 2 views (Ex:A and B)
    2>Create a Context with a node and attributes(For Ex:Person as node and Fname and Last Name as attributes
    2>In A view create a table with F name and L Name(map to context as well) and a action button to navigate to B view when you selected a particualr row o.k
    3>In B view, create a TextView with mapping to LastName(or all the data if you want from input selection) from the context
    If you want you can add back action button from B view to A view for easy navigation.
    4>Execute the application and select any row in the table appeared, press next action button,you can see that the selected row details will be shown in second(B) view.
    If you do the above example, I think you can easily find the solution for navigation issue.. try it out.
    In case if you are not able to ...let me know..I have that example.
    Hope that helps
    Regards
    Praveen

  • How to Disable Row Detail in Sales Module

    Dear Experts,
    how to disable row detail option in sales module. how it is posible. we are using SAP Business One 2007. PL42
    Thanx

    AOA Rahil,
    I have just solved this problem, I was also facing the same one
    I am using B1DE, I have handled this on before menu click when open the form
    <B1Listener(BoEventTypes.et_MENU_CLICK, true)>  _
            Public Overridable Function OnBeforeMenuClick(ByVal pVal As MenuEvent) As Boolean
                'GENERATED CODE
                Me.LoadForm()
    1***            Dim Form As Form = B1Connections.theAppl.Forms.ActiveForm
       2 ***        Form.Settings.EnableRowFormat = False
                Return false
            End Function
    1--Capture the current form
    2--Disable Row Detail Form
    It worked for me
    Best Regards,
    Umer Nasim Mirza
    03004003633

  • Adding Type Field in ROW detail GRPO

    Hi all,
    Create GRPO,in GRPP add three items
    suppose item1,item2,item3.
    choose type field from form settins in row details of GRPO
    define type filed  as text for three items,i.e.
    For Item1          type->text as Text1
    For Item2          type->text as Text2
    For Item3          type->text as Text3.
    Now we are generating report using query...
    SELECT     dbo.OPDN.CardCode, dbo.OPDN.CardName, dbo.PDN1.ItemCode, dbo.PDN1.Dscription, dbo.PDN10.LineText
    FROM         dbo.OPDN INNER JOIN
                          dbo.PDN1 ON dbo.OPDN.DocEntry = dbo.PDN1.DocEntry FULL OUTER JOIN
                          dbo.PDN10 ON dbo.OPDN.DocEntry = dbo.PDN10.DocEntry
    WHERE     (dbo.OPDN.DocNum = '194')
    instead of returning 3 rows it is returning 9 rows..
    Type-->> Text is defined as remark for each Item
    How we can solve it.
    Thanks,
    Neetu

    HI,
    try to use this following query:
    SELECT dbo.OPDN.CardCode, dbo.OPDN.CardName, dbo.PDN1.ItemCode, dbo.PDN1.Dscription, dbo.PDN10.LineText
    FROM dbo.OPDN INNER JOIN
    dbo.PDN1 ON dbo.OPDN.DocEntry = dbo.PDN1.DocEntry FULL OUTER JOIN
    dbo.PDN10 ON dbo.OPDN.DocEntry = dbo.PDN10.DocEntry
    WHERE (dbo.OPDN.DocNum = '194') AND dbo.PDN1.LineNum = dbo.PDN10.lineseq
    you need to add condition (after where) i.e. pdn1.linenum = pdn10.lineseq
    let me know
    Rgds,

  • Landed Cost - Weight/Volume information at Row Details on [Items] tab

    Hi, Experts,
    While copying GRs into landed cost, if [Costs] tab, we have weight or volume setup on "Allocation by" , then the Row Details on [items] tab need to be filled, otherwise, will have error msg.
    Is there any way, the information can install from Item Master Data automatically with those information has entered?
    Thanks.
    Emi

    Hi Emily,
    You may try Formatted Search to bring those value from Item Master if you have all info needed.
    Thanks,
    Gordon

  • Hi.i want to select only rows with no child rows

    Hi.i want to select only rows with no child rows in hierarchical queries.

    http://www.rampant-books.com/10g_80.htm
    bye
    TPD

  • Setting values in a disabled UDF in Row Details in Marketing Documents

    Is there any way for us to be able to disable a UDF in the row details of a marketing document but the disabled UDF should also accept value or updates using SDK? We created a UDF that stores important detail and we don't want the user to edit the value. The current form settings is not possible.
    Hoping for your immediate response.
    Thanks
    Edited by: Cecille Rabara on Jul 6, 2009 11:04 AM

    Hi
    you can get form type and item from system information. after getting this information you have to access the column for this particular item(Matrix). just set it to disable and if you have data in your database then it will display by this column at the time of navigation.
    I think this will helps u

  • Excel to CI conversion - Updating child row fields

    Hi,
    Plz let me know how to update values of child row fields in Excel to CI conversion.. I tried giving all key values upto the child row.. (keys for level0, level1 etc upto child row level).. it didnt work..
    thanks for ur help!!

    Could you give us a little bit more informations, like PT version, Excel version, OS ?
    And also about what exactly you did.
    Nicolas.

  • Sales Opportunity Stage Tab - Want last updated row details in query

    Dear Experts,
    I have a query as under :
    SELECT T1.Name, T1.OpprId, T1.OpenDate, T0.Step_Id, T0.Line, T0.OpprId, T0.U_status, T2.Name FROM OPR1 T0  INNER JOIN OOPR T1 ON T0.OpprId = T1.OpprId INNER JOIN [dbo].[@STAGE]  T2 ON T0.U_status = T2.Code WHERE T1.Name = 'ORDER'
    Now I want that this query should give me the last row detail in the Stage TAb of Sales opportunity. Now this query is giving me every row stage details which are put in the Stage Tab. For example in the Stage Tab of Sales Opportunity there are 4 rows of Stages, its giving me all the 4 row stages in the query. I want that only the last stage should be displayed in the query may be it's on 2 second stage or 3 rd ot 4 th. I want only last stage to be shown.
    Please advise what I need to do for the above query.
    Regards,
    Kamlesh

    Hi All,
    I have been working in a query to generate the last stage details in the query but still not able to resolve it.
    SELECT T0.Status,T0.OpprId, max(T1.Line) 'Stage',T0.OpenDate, T0.CardCode, T0.CardName, T0.Territory, T0.CloPrcnt,T1.OpprId, T1.Line, T1.OpenDate, max(T1.OpenDate) 'Open Date',T1.CloseDate, T1.Step_Id,T2.descript, T3.Name, T0.MaxSumLoc, T4.U_swl, T0.MaxSumSys, T0.U_eqno, T0.MaxSumLoc, T4.U_partno, T4.U_desc, T4.U_unit, T4.U_amt, T4.U_qty, T4.U_amt, T4.U_span FROM OOPR T0  INNER JOIN OPR1 T1 ON T0.OpprId = T1.OpprId INNER JOIN OTER T2 ON T0.Territory = T2.territryID INNER JOIN [dbo].[@STAGE]  T3 ON T1.U_status = T3.Code, [dbo].[@SALES_ENQ_ITEM]  T4 WHERE T0.OpprId = T4.U_opprNo AND T0.Status = 'O' group by T0.Status,T0.OpprId, T0.OpenDate, T0.CardCode, T0.CardName, T0.Territory, T0.CloPrcnt,T1.OpprId, T1.Line, T1.OpenDate, T1.CloseDate, T1.Step_Id,T2.descript, T3.Name, T0.MaxSumLoc, T4.U_swl, T0.MaxSumSys, T0.U_eqno, T0.MaxSumLoc, T4.U_partno, T4.U_desc, T4.U_unit, T4.U_amt, T4.U_qty, T4.U_amt, T4.U_span
    The above query is generating and giving me the Last Stage through max(T1.Line) 'Stage' field. But I want to have if any opportunity Number has 1,2,3 Stage then only Max should should which is 3 but in this query all 3 are showing.
    As per Noratam ''There are other options by checking max of the start-date and stage-key fields of the sage table''.
    I can use the Start Date which seems to be max(T1.OpenDate) 'Open Date' but how to give a formula or write a query by which only Max Date is selected as per the stage in the query.
    I think I am not able to use the Max funtion properly. Please help what is wrong with it.
    Can you please help in this regard.
    Regards,
    kamlesh
    Edited by: Kamlesh Gupta on Mar 22, 2009 11:33 PM

  • Repeat parent node values in all the child rows

    In xml publisher how one could repeat the parent values in all the child rows at the template builder if their is more than one query in the report sql.

    for example if the xml is like
    <e1>A1</e1>
       <l2s>
            <l2>B1-01</l2>
                 <q2s>
                      <q2>D111</q2>
                      <q2>D112</q2>
                 </q2s>
            <l2>B1-02</l2>
                 <q2s>
                      <q2>D121</q2>
                      <q2>D122</q2>
                 </q2s>
       </l2s>
    i look to make it like
       <row>  
            <e1>A1</e1>
            <l2>B1-01</l2>
            <q2>C1-1-1</q2>
            <n2>D111</n2>
       </row>
       <row>  
            <e1>A1</e1>  
            <l2>B1-01</l2>
            <q2>C1-1-2</q2>
            <n2>D112</n2>
       </row>
       <row>  
            <e1>A1</e1>  
            <l2>B1-02</l2>
            <q2>C1-2-1</q2>
            <n2>D121</n2>
       </row>

  • Adding a Multiple Rows Without Clearing Previous Row Details

    Dear All,
    I want to Add multiple rows at the same time in a matrix at the same time .My problem here is When i add the New rows to the matrix already added data need to remail in the matrix , I cant put Matrix.Clear or Datasource.clear.
    When   i add multiple rows previous row details is duplicated to next rows how to avoid thus
    Mohamed

    Hi,
    try this,
    If (pVal.ItemUID = "BTNUID") And (pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) Then
                            Dim fr As SAPbouiCOM.Form
                            Dim sel As Integer
                            Dim oMatrix1 As SAPbouiCOM.Matrix
                            fr = SBO_Application.Forms.Item(FormUID)
                            oMatrix1 = fr.Items.Item("mtx_136").Specific
                            fr.DataSources.DBDataSources.Item(2).Clear()
                            sel = oMatrix1.GetNextSelectedRow
                            oMatrix1.AddRow(1, sel)
                        End If
    "mtx_136" is your matrix ID
    and "BTNUID" is your button ID

Maybe you are looking for