Gridview expand collapse script

I have a sharepoint 2010 with a webpart that has a gridview with the ability to expand/collapse to show more details in it.
I have migrated this webpart to SharePoint 2013 and deployed it without any errors, however when I visited the page it seems that '$' is undefined, so I updated the jquery src and pointed it to the latest version which is 1.10.2
after this, I encountered an error that says that .live is deprecated - here's the old code
<script type="text/javascript">
$("[src*=plus]").live("click", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "~/_layouts/images/minus.png");
$("[src*=minus]").live("click", function () {
$(this).attr("src", "~/_layouts/images/plus.png");
$(this).closest("tr").next().remove();
</script>
SO i went and changed the .live to .on and my udpated script is now this one
<script type="text/javascript">
$(document).ready(function () {
$(document).on("click", "[src*=plus]", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "~/_layouts/images/minus.png");
//alert("clicked plus");
$(document).on("click","[src*=minus]", function () {
$(this).attr("src", "~/_layouts/images/plus.png");
$(this).closest("tr").next().remove();
</script>
but the updated code above shows two entries (meaning two rows of the same detail) when the + sign is clicked, and it doesnt show the minus sign.
----------------------- Sharepoint Newbie

Try putting some class on your plus and minus and modify jQuery as
<script type="text/javascript">
$(document).ready(function () {
$(".plus").on("click", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "~/_layouts/images/minus.png");
//alert("clicked plus");
$(".minus").on("click", function () {
$(this).attr("src", "~/_layouts/images/plus.png");
$(this).closest("tr").next().remove();
</script>
Geetanjali Arora | My blogs |

Similar Messages

  • Expand/Collapse all the Bookmarks in a PDF file

    Hi,
    This is my first message on the board :-)
    I work with very large PDF files (i.e 2000 pages, 700 bookmarks on 5 or 6 levels!) and I'm looking for a script (Acrobat 9 Pro) allowing to expand/collapse all the bookmarks in a PDF file.
    Thanks in advance for your valuable help,
    Cheers
    Antonella

    The Acrobat Javascript Scripting reference (http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJS.pdf) describes how to use scripting to access bookmarks and how to open and close them, which is what you're looking for.
    I suggest you read the reference and make a function that will do the job for you.
    That's the way I would do it.
    I don't think you can access the keyboard shortcuts "/" and "Shift + *" via scripting.
    Torben.

  • Expand/Collapse function in WAD 7.0

    Hi,
    I have made a report in WAD using a table and a chart. In the output which I am running on a portal I have a table Report Navigation with  in which I have some of the export options and an Expand / Collapse icons are present on the button group and also I have one drop down box calendar year .As soon as I click on the icon Collapse in  the above table Report Navigation my drop down should get collapsed and again when I click on the Expand the drop down should be visible
    Report naviagtion and  Drop down boxes are present in a seperate table where in when I click on the icons( Expand / Collapse ) it should get reflected on the dropdown box which is present on the 2nd table
    I have done the above in WAD 3.5 using Java script Code
    How can this be done in WAD 7.0
    Regards,
    Maya

    Hi,
    After setting the Analysis item properties, just click on the 7th icon on top menu bar, i think its Verify or Check on server. Somthing like that.
    Or try re-opening the template after sometime. Close the existing Web window, where you see your output, and execute the template once again. This should work.
    If nothing of the above works, theres one more thing. You may have to re-create the Template.
    This happens at times when there is no proper connection between the Portal and WAD. I have faced it myself. So, just try something like that.

  • Expand/Collapse query structure?

    Hi all,
    I'm working with a structure in a BW query. In this BW query you have the possibility to expand or collapse structure nodes. Is it possible to overwrite this property in Design Studio?
    I tried to use the scripting formula DS_1.collapseNode("technical ID structure", "technical ID member structure") but it doesn't work.
    Any ideas?
    Thanks, Vanessa

    Hi Vanessa,
    I had the same case on my project(not a real hierarchy, but a structure).
    I've implemented it using a button - I have an image of a + and a -  that collapses and expands the hierarchy.
    try to do it with a button or and image (in the onClick event). and if it works, you can call this event from startup or in background processing.
    about your second answer, in design studio:
    go to your datasource ->right click->edit initial view
    there you will see the query exactly as you defined it in bex.
    change the hierarchy expand\collapse state, and click ok.
    the data in the crosstab will change accordingly.
    hope it helps,
    Roman

  • Expand/Collapse All Version Sets

    PSE 10, Is there a simple way to open all the Version Sets with one set of keystrokes, and having them stay open. I have a lot of version sets built up over time, and I would prefer not having to open each one individually. When I tried doing that on a small batch, as soon as I  changed to a different batch of pics, all of the Sets I had opened, promptly closed. The View > Expand/Collapse All Stacks does not work on the Version Sets.

    Hi Surya
    Create a new HTML region at the top of your page, using No Template and use this as the Source:
    &lt;script type="text/javascript"&gt;
    function showHideAll(displaystyle)
    var hideIMG = "/i/htmldb/builder/rollup_plus_dgray.gif";
    var showIMG = "/i/htmldb/builder/rollup_minus_dgray.gif";
    var k;
    var r = document.getElementsByTagName("DIV");
    if (r)
       for (k = 0; k &lt; r.length; k++)
         if (r[k].className == 't12Hide')
           r[k].style.display = displaystyle;
    var i = document.getElementsByTagName("IMG");
    if ( i )
      for (k = 0; k &lt; i.length; k++)
        if (i[k].id.substr(0, 5) == 'shIMG')
          i[k].src = (displaystyle == 'block') ? showIMG : hideIMG;
    &lt;/script&gt;
    &lt;a href="javascript:showHideAll('block');"&gt;Show All&lt;/a&gt;
    &lt;a href="javascript:showHideAll('none');"&gt;Hide All&lt;/a&gt;The image names and className (t12Hide) are based on my test page - change these as appropriate for your own page (you may need to do a View Source on the page to check these values).
    Andy

  • Expand/collapse all regions

    I have 5 show/hide regions on a page. is it possible to Expand/collapse all regions by clicking a "Show/Hide All" link or a button. any ideas are appreciated.
    thanks,
    Surya

    Hi Surya
    Create a new HTML region at the top of your page, using No Template and use this as the Source:
    &lt;script type="text/javascript"&gt;
    function showHideAll(displaystyle)
    var hideIMG = "/i/htmldb/builder/rollup_plus_dgray.gif";
    var showIMG = "/i/htmldb/builder/rollup_minus_dgray.gif";
    var k;
    var r = document.getElementsByTagName("DIV");
    if (r)
       for (k = 0; k &lt; r.length; k++)
         if (r[k].className == 't12Hide')
           r[k].style.display = displaystyle;
    var i = document.getElementsByTagName("IMG");
    if ( i )
      for (k = 0; k &lt; i.length; k++)
        if (i[k].id.substr(0, 5) == 'shIMG')
          i[k].src = (displaystyle == 'block') ? showIMG : hideIMG;
    &lt;/script&gt;
    &lt;a href="javascript:showHideAll('block');"&gt;Show All&lt;/a&gt;
    &lt;a href="javascript:showHideAll('none');"&gt;Hide All&lt;/a&gt;The image names and className (t12Hide) are based on my test page - change these as appropriate for your own page (you may need to do a View Source on the page to check these values).
    Andy

  • Expand/Collapse feature in table maintenance view

    Hello experts,
    We have created a custom table and maintenace view.   For some table rows, the only key value difference is an EFFECTIVE DATE.   The generated table maintenace dialog by default "Collapses" the rows that only differ by Effective Date.  Using the Expand <-> Collapse button, we can see the missing detail for individual rows.
    Can the maintenace dialog be expanded by default?

    Hi,
    See the given link, It may help to you.
    maintenance view
    Regards,
    Shamma

  • Expand/Collapse a block in a selection screen

    Hey Folks,
    I have a requirement , where I have a selection screen, with 3 selection blocks. I have a requirement that I need to make 2 of these blocks expandible/collapsible on the toggle of a button.. How can this be achieved.
    In case of a normal screen, I would have had to create the blocks as subscreens (one type of screen for expanded state...another for collapsed state) and called it from the main screen. But how do I achieve the same using the selection screens?
    I was considering creating the blocks as subscreens in the selection screen and calling them in the PBO of the main selection screen. However, I am unsure if thats a wise thing to do since the screen is generated automatically in case of a selection screen and I do believe its not a good idea to manually alter it.
    Does anyone has any pointers on this?
    Thanks and Best Regards,
    Puja.

    Hi,
    I have modified the code to show the expand/collapse ICON accordingly..Please check..
    TABLES sscrfields.
    TYPE-POOLS icon.
    * Expand/collapse buttons.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON 2(23)  b1 USER-COMMAND usr1.
    SELECTION-SCREEN END OF LINE.
    * Block 1
    SELECTION-SCREEN BEGIN OF BLOCK b1.
    PARAMETERS: p_test1 TYPE char10  MODIF ID m1,
                p_test2 TYPE char10  MODIF ID m1.
    SELECT-OPTIONS  s_date  FOR sy-datum MODIF ID m1.
    SELECTION-SCREEN END OF BLOCK b1.
    * Block 2
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON 2(23)  b2 USER-COMMAND usr2.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF BLOCK b2.
    PARAMETERS: p_test3 TYPE char10  MODIF ID m2,
                p_test4 TYPE char10  MODIF ID m2.
    SELECTION-SCREEN END OF BLOCK b2.
    * Declarations
    DATA: v_flag, v_flag1.
    INITIALIZATION.
      b1 = 'Button1'.
      b2 = 'Button2'.
      v_flag = 'X'.
      v_flag1 = 'X'.
    AT SELECTION-SCREEN.
    * Check the user command.
      IF sy-ucomm = 'USR1'.
        IF v_flag IS INITIAL.
          v_flag = 'X'.
        ELSE.
          CLEAR v_flag.
        ENDIF.
      ELSEIF sy-ucomm = 'USR2'.
        IF v_flag1 IS INITIAL.
          v_flag1 = 'X'.
        ELSE.
          CLEAR v_flag1.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN OUTPUT.
      IF v_flag1 = 'X'.
        CALL FUNCTION 'ICON_CREATE'
          EXPORTING
            name   = icon_expand
            text   = 'Button 2'
            info   = 'Button 2'
          IMPORTING
            RESULT = b2
          EXCEPTIONS
            OTHERS = 0.
      ELSEIF v_flag1 IS INITIAL.
        CALL FUNCTION 'ICON_CREATE'
          EXPORTING
            name   = icon_collapse
            text   = 'Button 2'
            info   = 'Button 2'
          IMPORTING
            RESULT = b2
          EXCEPTIONS
            OTHERS = 0.
      ENDIF.
      IF v_flag = 'X'.
        CALL FUNCTION 'ICON_CREATE'
          EXPORTING
            name   = icon_expand
            text   = 'Button 1'
            info   = 'Button 1'
          IMPORTING
            RESULT = b1
          EXCEPTIONS
            OTHERS = 0.
      ELSEIF v_flag IS INITIAL.
        CALL FUNCTION 'ICON_CREATE'
          EXPORTING
            name   = icon_collapse
            text   = 'Button 1'
            info   = 'Button 1'
          IMPORTING
            RESULT = b1
          EXCEPTIONS
            OTHERS = 0.
      ENDIF.
      LOOP AT SCREEN.
    * Expand collapse block1
        IF v_flag = 'X' AND screen-group1 = 'M1'.
          screen-active = 0.
        ELSEIF v_flag IS INITIAL AND screen-group1 = 'M1'.
          screen-active = 1.
        ENDIF.
    * Expand collapse block2
        IF v_flag1 = 'X' AND screen-group1 = 'M2'.
          screen-active = 0.
        ELSEIF v_flag1 IS INITIAL AND screen-group1 = 'M2'.
          screen-active = 1.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    Thanks
    Naren

  • [Forum FAQ] How to use parameter to control the Expand/Collapse drill-down options in SSRS report?

    In SQL Server Reporting Services (SSRS), drill-down is an action we can apply to any report item to hide and show other report items. They all are ways that we can organize and display data to help our users understand our report better. In this article,
    we are talking about how to use parameter to control the Expand/Collapse drill-down options in SSRS report.
    Consider that the report has a dataset (dsSales) with following fields: SalesTerritoryGroup, SalesTerritoryCountry, CalendarYear, SalesAmount.
    1. The report has the following group settings:
    Parent Group: SalesTerritoryGroup
     Child Group: SalesTerritoryCountry
      Child Group: CalendarYear
       Details: SalesAmount
    2. Add three parameters in the report:
    GroupExpand:
    Available Values: “Specify values”
    Label: Yes           Value: Yes
    Label: No            Value: No
    Default Values: “Specify values”
    Value: Yes
    CountryExpand:
    Available Values: “Specify values”
    Label: Yes           Value: =IIF(Parameters!GroupExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No","No","Yes")
    YearExpand:
    Available Values: “Specify values”
    Label: Yes          
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No","No","Yes")
    3. Right click SalesTerritoryCountry icon in the Row Groups dialog box, select Group Properties.
    4. Click Visibility in the left pane. Select “Show or hide based on an expression” and type with following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", False, True)
    Select “Display can be toggled by this report item” option, and select “SalesTerritoryGroup” in the drop down list.
    5. Use the same method setting CalendarYear, (Details) drill-down with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", False, True)
    =IIF(Parameters!YearExpand.Value="Yes", False, True)
    6. Click SalesTerritoryGroup text box in the tablix. Select InitialToggleState property in the Properties dialog box, and type following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", True, False)
    7. Use the same method setting SalesTerritoryCountry, CalendarYear text box with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", True, False)
    =IIF(Parameters!YearExpand.Value="Yes", True, False)
    After that, when we preview the report, we can use these three parameters to expand/collapse drill-down.
    Note:
    In our test, we may meet following issue. We can check the expression of InitialToggleState property to troubleshooting the issue.
    Applies to
    Reporting Services 2008
    Reporting Services 2008 R2
    Reporting Services 2012

    In SQL Server Reporting Services (SSRS), drill-down is an action we can apply to any report item to hide and show other report items. They all are ways that we can organize and display data to help our users understand our report better. In this article,
    we are talking about how to use parameter to control the Expand/Collapse drill-down options in SSRS report.
    Consider that the report has a dataset (dsSales) with following fields: SalesTerritoryGroup, SalesTerritoryCountry, CalendarYear, SalesAmount.
    1. The report has the following group settings:
    Parent Group: SalesTerritoryGroup
     Child Group: SalesTerritoryCountry
      Child Group: CalendarYear
       Details: SalesAmount
    2. Add three parameters in the report:
    GroupExpand:
    Available Values: “Specify values”
    Label: Yes           Value: Yes
    Label: No            Value: No
    Default Values: “Specify values”
    Value: Yes
    CountryExpand:
    Available Values: “Specify values”
    Label: Yes           Value: =IIF(Parameters!GroupExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No","No","Yes")
    YearExpand:
    Available Values: “Specify values”
    Label: Yes          
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No","No","Yes")
    3. Right click SalesTerritoryCountry icon in the Row Groups dialog box, select Group Properties.
    4. Click Visibility in the left pane. Select “Show or hide based on an expression” and type with following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", False, True)
    Select “Display can be toggled by this report item” option, and select “SalesTerritoryGroup” in the drop down list.
    5. Use the same method setting CalendarYear, (Details) drill-down with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", False, True)
    =IIF(Parameters!YearExpand.Value="Yes", False, True)
    6. Click SalesTerritoryGroup text box in the tablix. Select InitialToggleState property in the Properties dialog box, and type following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", True, False)
    7. Use the same method setting SalesTerritoryCountry, CalendarYear text box with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", True, False)
    =IIF(Parameters!YearExpand.Value="Yes", True, False)
    After that, when we preview the report, we can use these three parameters to expand/collapse drill-down.
    Note:
    In our test, we may meet following issue. We can check the expression of InitialToggleState property to troubleshooting the issue.
    Applies to
    Reporting Services 2008
    Reporting Services 2008 R2
    Reporting Services 2012

  • How do I remove the "TOC" btn in the playbar WITHOUT removing the TOC "Expand/Collapse" icon?

    I am working in CP7 on a project with a Table of Contents that is set to 'Overlay'. The client has requested that I remove the "TOC" button in the playbar, without removing the TOC "Expand/Collapse" icon, so that the user can still hide/reveal the TOC when necessary. The only control I can find is the "Show TOC" checkbox under Project > Table of Contents. However, un-checking this option removes both the "TOC" button AND the "Expand/Collapse" icons. Is it possible to remove just the "TOC" button in the playbar?

    If you are using SWF output you can always edit the playbar in Flash and remove it.
    If HTML5 you can edit the JavaScript out put to remove the button from the playbar.

  • JTree with XML content expand/collapse problem

    Hello all,
    I'm having this very weird problem with a JTree I use to display the contents of an XML file. I use the DOM parser (and not JDOM since I want the application to run as an applet as well, and don't want to have any external libraries for the user to download) and have a custom TreeModel and TreeNode implementations to wrap the DOM nodes so that they are displayed by the JTree.
    I have also added a popup menu in the tree, for the user to be able to expand/collapse all nodes under the selected one (i.e. a recursive method).
    When expandAll is run, everything works fine and the children of the selected node are expanded (and their children and so on).
    However, after the expansion when I run the collapseAll function, even though the selected node collapses, when I re-expand it (manually not by expandAll) all of it's children are still fully open! Even if I collapse sub-elements of the node manually and then collapse this node and re-expand it, it "forgets" the state of it's children and shows them fully expanded.
    In other words once I use expandAll no matter what I do, the children of this node will be expanded (once I close it and re-open it).
    Also after running expandAll the behaviour(!) of the expanded nodes change: i have tree.setToggleClickCount(1); but on the expanded nodes I need to double-click to collapse them.
    I believe the problem is related to my implementations of TreeModel and TreeNode but after many-many hours of trying to figure out what's happening I'm desperate... Please help!
    Here's my code:
    public class XMLTreeNode implements TreeNode 
         //This class wraps a DOM node
        org.w3c.dom.Node domNode;
        protected boolean allowChildren;
        protected Vector children;
        //compressed view (#text).
         private static boolean compress = true;   
        // An array of names for DOM node-types
        // (Array indexes = nodeType() values.)
        static final String[] typeName = {
            "none",
            "Element",
            "Attr",
            "Text",
            "CDATA",
            "EntityRef",
            "Entity",
            "ProcInstr",
            "Comment",
            "Document",
            "DocType",
            "DocFragment",
            "Notation",
        static final int ELEMENT_TYPE =   1;
        static final int ATTR_TYPE =      2;
        static final int TEXT_TYPE =      3;
        static final int CDATA_TYPE =     4;
        static final int ENTITYREF_TYPE = 5;
        static final int ENTITY_TYPE =    6;
        static final int PROCINSTR_TYPE = 7;
        static final int COMMENT_TYPE =   8;
        static final int DOCUMENT_TYPE =  9;
        static final int DOCTYPE_TYPE =  10;
        static final int DOCFRAG_TYPE =  11;
        static final int NOTATION_TYPE = 12;
        // The list of elements to display in the tree
       static String[] treeElementNames = {
            "node",
      // Construct an Adapter node from a DOM node
      public XMLTreeNode(org.w3c.dom.Node node) {
        domNode = node;
      public String toString(){
           if (domNode.hasAttributes()){
                return domNode.getAttributes().getNamedItem("label").getNodeValue();
           }else return domNode.getNodeName();      
      public boolean isLeaf(){ 
           return (this.getChildCount()==0);
      boolean treeElement(String elementName) {
          for (int i=0; i<treeElementNames.length; i++) {
            if ( elementName.equals(treeElementNames)) return true;
    return false;
    public int getChildCount() {
         if (!compress) {   
    return domNode.getChildNodes().getLength();
    int count = 0;
    for (int i=0; i<domNode.getChildNodes().getLength(); i++) {
    org.w3c.dom.Node node = domNode.getChildNodes().item(i);
    if (node.getNodeType() == ELEMENT_TYPE
    && treeElement( node.getNodeName() ))
    // Note:
    // Have to check for proper type.
    // The DOCTYPE element also has the right name
    ++count;
    return count;
    public boolean getAllowsChildren() {
         // TODO Auto-generated method stub
         return true;
    public Enumeration children() {
         // TODO Auto-generated method stub
         return null;
    public TreeNode getParent() {
         // TODO Auto-generated method stub
         return null;
    public TreeNode getChildAt(int searchIndex) {
    org.w3c.dom.Node node =
    domNode.getChildNodes().item(searchIndex);
    if (compress) {
    // Return Nth displayable node
    int elementNodeIndex = 0;
    for (int i=0; i<domNode.getChildNodes().getLength(); i++) {
    node = domNode.getChildNodes().item(i);
    if (node.getNodeType() == ELEMENT_TYPE
    && treeElement( node.getNodeName() )
    && elementNodeIndex++ == searchIndex) {
    break;
    return new XMLTreeNode(node);
    public int getIndex(TreeNode tnode) {
         if (tnode== null) {
              throw new IllegalArgumentException("argument is null");
         XMLTreeNode child=(XMLTreeNode)tnode;
         int count = getChildCount();
         for (int i=0; i<count; i++) {
              XMLTreeNode n = (XMLTreeNode)this.getChildAt(i);
              if (child.domNode == n.domNode) return i;
         return -1; // Should never get here.
    public class XMLTreeModel2 extends DefaultTreeModel
         private Vector listenerList = new Vector();
         * This adapter converts the current Document (a DOM) into
         * a JTree model.
         private Document document;
         public XMLTreeModel2 (Document doc){
              super(new XMLTreeNode(doc));
              this.document=doc;
         public Object getRoot() {
              //System.err.println("Returning root: " +document);
              return new XMLTreeNode(document);
         public boolean isLeaf(Object aNode) {
              return ((XMLTreeNode)aNode).isLeaf();
         public int getChildCount(Object parent) {
              XMLTreeNode node = (XMLTreeNode) parent;
    return node.getChildCount();
         public Object getChild(Object parent, int index) {
    XMLTreeNode node = (XMLTreeNode) parent;
    return node.getChildAt(index);
         public int getIndexOfChild(Object parent, Object child) {
    if (parent==null || child==null )
         return -1;
              XMLTreeNode node = (XMLTreeNode) parent;
    return node.getIndex((XMLTreeNode) child);
         public void valueForPathChanged(TreePath path, Object newValue) {
    // Null. no changes
         public void addTreeModelListener(TreeModelListener listener) {
              if ( listener != null
    && ! listenerList.contains( listener ) ) {
    listenerList.addElement( listener );
         public void removeTreeModelListener(TreeModelListener listener) {
              if ( listener != null ) {
    listenerList.removeElement( listener );
         public void fireTreeNodesChanged( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeNodesChanged( e );
         public void fireTreeNodesInserted( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeNodesInserted( e );
         public void fireTreeNodesRemoved( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeNodesRemoved( e );
         public void fireTreeStructureChanged( TreeModelEvent e ) {
    Enumeration listeners = listenerList.elements();
    while ( listeners.hasMoreElements() ) {
    TreeModelListener listener =
    (TreeModelListener) listeners.nextElement();
    listener.treeStructureChanged( e );
    The collapseAll, expandAll code (even though I m pretty sure that's not the problem since they work fine on a normal JTree):
        private void collapseAll(TreePath tp){
             if (tp==null) return;
             Object node=tp.getLastPathComponent();
             TreeModel model=tree.getModel();
             if (!model.isLeaf(node)){
                  tree.collapsePath(tp);
                  for (int i=0;i<model.getChildCount(node);i++){
                  //for (int i = node.childCount()-4;i>=0;i--){
                       collapseAll(tp.pathByAddingChild(model.getChild(node,i)));
                  tree.collapsePath(tp);
        private void expandAll(TreePath tp){
             if (tp==null) return;
             Object node=tp.getLastPathComponent();
             TreeModel model=tree.getModel();
             if (!model.isLeaf(node)){
                  tree.expandPath(tp);
                  for (int i=0;i<model.getChildCount(node);i++){
                  //for (int i = node.childCount()-4;i>=0;i--){
                       expandAll(tp.pathByAddingChild(model.getChild(node,i)));

    Hi,
    Iam not facing this problem. To CollapseAll, I do a tree.getModel().reload() which causes all nodes to get collapsed and remain so even if I reopen them manually.
    Hope this helps.
    cheers,
    vidyut

  • ADF TreeTable: selective expand/collapse of rows

    Hi
    I have a query. How can i selectively expand or collapse nodes in a Tree Table. I have got the tree model but i need to expand even further so that the nodes can be expanded/collapsed initially based on some logic.
    It would be of great hhelp if any1 has some solution to it

    This doesnt work
    What i am doing:
    1. I have a TreeTable
    2. Its value is a TreeModel whose each node is my customized Object : MyObject
    So if i use this kinda code which is in ur tutorial
    CollectionModel model = (CollectionModel)tree1.getValue();
    treeBinding = (JUCtrlHierBinding)model.getWrappedData();
    I get a classcastexception:
    MyObject cannot be cast to oracle.jbo.uicli.binding.JUCtrlHierBinding
    since model.getWrappedData(); returns the root node of the tree which should be of my customized Object type

  • Outlook 2013 - Online Archive folders do not remember expand / collapse

    For our QA group, we have just upgraded them from Office 2010 to Office 2013 SP1. We have one user that noticed something. With Outlook 2010, the client would remember which folders he had expanded or collapsed under his "Archive" (the online archive
    generated by the Archiving feature of Exchange server). However, once we upgraded him to Outlook 2013, this is no longer true. Now, the "Online Archive" header is fully collapsed when he open Outlook every time.
    To test, I created a small folder structure with some items in my own "Online Archive" section and was able to reproduce this behavior. Outlook 2013 will remember which folders are expanded or collapsed for the folders in my Inbox but not for the
    folders in my Archive. Is there a way to have Outlook 2013 remember the expand / collapse settings for the Archive?

    Hi,
    I'm marking the reply as answer as there has been no update for a couple of days.
    If you come back to find it doesn't work for you, please reply to us and unmark the answer.
    Best Regards,
    Steve Fan
    Forum Support
    Come back and mark the replies as answers if they help and unmark them if they provide no help.
    If you have any feedback on our support, please click
    here

  • Expand/collapse button functionality on module pool screen

    Hi ,
    I want to design a module pool screen with a expand/collapse button on it.
    The desired functionality associated with this button would be something similiar to that available in ME21N screen. When the expand button is clicked it should open up a section of screen that allows the user to enter some parameter. Based on this parameter some selections from DB can be perfomed and then displayed below it.
    Any pointers on how to achieve this? Any kind of help would be appreciated.
    Regards-
    Harmeet Singh.

    example for three pushbutton with expand collapse .
    First of all define your push button as output field with icon tick in the pushbutton characteristick,
    then define this pushbutton in top_include
    include <icon>.
    data : push_a1 like icons-l4,
             push_a2 like icons-l4,
             push_a3 like icons-l4.
    data : a1 ,
             a2,
             a3.
    in pai of the screen
    suppose i had assign function code a1 ,a2 , a3 for repective pushbutton
    module user_command_9002 input.
      okcd = ok_code.
      clear ok_code.
      case okcd.
        when 'A1'.
          if a1 is initial.
            a1 = 'X'.
          else.
            clear a1.
          endif.
        when 'A2'.
          if a2 is initial.
            a2 = 'X'.
          else.
            clear a2.
          endif.
        when 'A3'.
          if a3 is initial.
            a3 = 'X'.
          else.
            clear a3.
          endif.
      endcase.
    endmodule.                 " USER_COMMAND_9002  INPUT
    define three seprate screen -group for three pushbutton say a1 a2 a3
    during pbo you can directly assign name of icon .
    if a1 is initial.
        push_a1 = icon_collapse.
      else.
        push_a1 = icon_expand.
      endif.
      if a2 is initial.
        push_a2 = icon_collapse.
      else.
        push_a2 = icon_expand.
      endif.
      if a3 is initial.
        push_a3 = icon_collapse.
      else.
        push_a3 = icon_expand.
      endif.
    loop at screen.
        if screen-group1 = 'A1'.
          if a1 = 'X'.
            screen-invisible = 1.
            screen-input = 0.
            modify screen.
          else.
            screen-active = 1.
            screen-invisible = 0.
            screen-input = 1.
          endif.
        elseif screen-group1 = 'A2'.
          if a2 = 'X'.
            screen-invisible = 1.
            screen-input = 0.
            modify screen.
          else.
            screen-active = 1.
            screen-invisible = 0.
            screen-input = 1.
          endif.
        elseif screen-group1 = 'A3'.
          if a3 = 'X'.
            screen-invisible = 1.
            screen-input = 0.
            modify screen.
          else.
            screen-active = 1.
            screen-invisible = 0.
            screen-input = 1.
          endif.
        endif.
      endloop.
    regards,
    Alpesh
    Edited by: Alpesh on May 28, 2009 10:28 AM

  • Expand / Collapse a View -- How can i control it

    Our component has 5 pages and each page has its set of fields and validations. (some are required fields).
    This works fine if all pages are Visible.
    But if user collapse one of the page then none of the logic written for that page gets executed, in other words in a page is collapsed CRM just ignores it completely.
    Because of this users are able to create transaction with incomplete data.
    Is there a way to make a page permanent, so that user can never collapse it. (Collapse / Expand functionality will not work)
    How do you recommend to solve this problem

    Is there a way to deactivate Expand/Collapse button ?
    We never want user to click on that, i guess it might require JavaScript but will appreciate if somebody can provide some insight on this.
    I found below article but couldnt understand how i can implement for my requirement.
    http://www.bloggroll.com/view/16

Maybe you are looking for

  • Error while creating vendor

    Hi, I am creating a new vendor using VMD_EI_API-maintain. However on rare occassions i get an error  "LIFNR: Invalid value (foreign key check failed) .Entry 000000XXXX does not exist in LFA1 (check entry) ". Please note that the vendor number mention

  • "No Internet access" yellow icon on ThinkPad X230 after updating Intel PROSet wireless drivers

    I have a ThinkPad X230 that began to display the yellow exclamation point icon for "No internet access" after I did a batch of updates.  It has an Intel Advanced-N 6205 wireless card and is updated to the newest BIOS.  I tried everything I could find

  • Urgent help need. DB is crashed. To save it I try to Upgrade from Oracle XE

    Hi. We have DB on Oracle XE 10.2.0.1. PC (Windows XP) was reboot and DB don't start with C:\oraclexe\app\oracle\flash_recovery_area\XE\ONLINELOG\O1_MF_2_6YJ6WJX9_.LOG file. It is crashed with 0600 internal error. I have deleted this file and start DB

  • Currency Conversion TAB is Disabled in Query Designer !

    Hi All   When I create a selection under STRUCTURES, currency conversion tab becomes disabled...wheras if I create a FORMULA, I can see the Currency conversion TAB... But I need to do the conversion in SELECTION KEY FIGURE..Could I know why that happ

  • Language for Dictation?

    What language does the dictation feature of the new iPad use? Is there a way to change the language, or is it always the same language that you use for the entire iOS on the iPad?