JavaScript DHTML/SmartClient/Tree — различия между версиями

Материал из Web эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Текущая версия на 07:27, 26 мая 2010

Add node to tree

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HTML><HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="papayawhip" MARGINHEIGHT=0 MARGINWIDTH=0 LEFTMARGIN=0 TOPMARGIN=0>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=5 BORDER=0><TR><TD CLASS=pageHeader BGCOLOR=WHITE>
  TreeGrid initialization example
</TD><TD CLASS=pageHeader ALIGN=RIGHT BGCOLOR=WHITE>
  Isomorphic SmartClient
</TD></TR></TABLE><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD BGCOLOR=336666><IMG SRC=images/blank.gif WIDTH=1 HEIGHT=4></TD></TR></TABLE>

<!--------------------------
  Example code starts here
---------------------------->
<SCRIPT>
Tree.create({
    ID:"animalTree",
    root: 
    {name:"Zoo", children:[
    {name:"Aquarium", children:[
    {name:"Salt Water", children:[
    {name:"Bottlenose Dolphin", quantity:5, scientificName:"Tursiops truncatus"},
    {name:"Giant Pacific Octopus", quantity:1, scientificName:"Octopus dofleini"}
    ]},
    {name:"Fresh Water", children:[
    {name:"Freshwater Stingray", quantity:7, scientificName:"Potamotrygen motoro"}
    ]}
    ]},
    {name:"Reptile House", children:[
    {name:"Lizard House", children:[
    {name:"Cuban Ground Iguana", quantity:29, scientificName:"Cyclura nubila nubila"},
    {name:"Desert Iguana", quantity:14, scientificName:"Dipsosaurus dorsalis"},
    {name:"Marbled Salamander", quantity:6, scientificName:"Ambystoma opacum"}
    ]},
    {name:"Snake House", children:[
    {name:"Indian Rock Python", quantity:1, scientificName:"Python molurus molurus"}
    ]}
    ]},
    {name:"Monkey House", children:[
    {name:"Howler Monkey", quantity:15, scientificName:"Alouatta spp."},
    {name:"Orangutan", quantity:7, scientificName:"Pongo pygmaeus"},
    {name:"Guinea Baboon", quantity:3, scientificName:"Papio papio"}
    ]},
    {name:"Lion Enclosure", children:[
    {name:"Lion", quantity:12, scientificName:"Panthera leo"}
    ]}
    ]}
});
var saltWaterTank = animalTree.find("Zoo/Aquarium/Salt Water");
var orangutanNode = animalTree.find("Zoo/Monkey House/Orangutan");
// Show the contents of some nodes
animalTree.openFolder(animalTree.find("Zoo/Aquarium"));
animalTree.openFolder(animalTree.find("Zoo/Aquarium/Salt Water"));
animalTree.openFolder(animalTree.find("Zoo/Monkey House"));
var animalFields = [
    {name:"name", title:"Animal Name", width:250},
    {name:"scientificName", title:"Scientific Name", width:150},
    {name:"quantity", title:"Number", width:50}
];
TreeGrid.create({
    ID:"animalViewer",
    data:animalTree,
    fields:animalFields,
    left:50,
    top:50,
    width:500,
    height:275,
    canDragRecordsOut:true,
    canAcceptDroppedRecords:true
});

Button.create({
    left:50,
    top:400,
    width:150,
    title:"Add Nurse Shark",
    click:"animalTree.add({name:"Nurse Shark", quantity:1, scientificName:"Ginglymostoma cirratum"}, saltWaterTank); this.disable()"
});

</SCRIPT>
</BODY>
</HTML>



Animated tree: node collapse and open

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HTML><HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/standard/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="silver">
<SCRIPT>
isc.Tree.create({
    ID:"animalTree",
    root:
    {name:"Zoo", children:[
        {name:"Aquarium", children:[
            {name:"Salt Water", children:[
                {name:"Bottlenose Dolphin"},
                {name:"Giant Pacific Octopus"}
            ]},
            {name:"Fresh Water", children:[
                {name:"Freshwater Stingray"}
            ]}
        ]},
        {name:"Reptile House", children:[
            {name:"Lizard House", children:[
                {name:"Cuban Ground Iguana"},
                {name:"Desert Iguana"},
                {name:"Marbled Salamander"}
            ]},
            {name:"Snake House", children:[
                {name:"Indian Rock Python"}
            ]},
            {name:"Monkey House", children:[
                {name:"Howler Monkey"},
                {name:"Orangutan"},
                {name:"Guinea Baboon"}
            ]},
            {name:"Lion Enclosure", children:[
                {name:"Lion"}
            ]}
        ]}
    ]}
});

isc.TreeGrid.create({
    ID:"animalTreeGrid",
    data:animalTree,
    width: 300,
    height:300,
    animateFolders: true,
    animateFolderSpeed: 100
});

</SCRIPT>
</BODY>
</HTML>



Close all tree nodes

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HTML><HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="papayawhip" MARGINHEIGHT=0 MARGINWIDTH=0 LEFTMARGIN=0 TOPMARGIN=0>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=5 BORDER=0><TR><TD CLASS=pageHeader BGCOLOR=WHITE>
  TreeGrid initialization example
</TD><TD CLASS=pageHeader ALIGN=RIGHT BGCOLOR=WHITE>
  Isomorphic SmartClient
</TD></TR></TABLE><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD BGCOLOR=336666><IMG SRC=images/blank.gif WIDTH=1 HEIGHT=4></TD></TR></TABLE>

<!--------------------------
  Example code starts here
---------------------------->
<SCRIPT>
Tree.create({
    ID:"animalTree",
    root: 
    {name:"Zoo", children:[
    {name:"Aquarium", children:[
    {name:"Salt Water", children:[
    {name:"Bottlenose Dolphin", quantity:5, scientificName:"Tursiops truncatus"},
    {name:"Giant Pacific Octopus", quantity:1, scientificName:"Octopus dofleini"}
    ]},
    {name:"Fresh Water", children:[
    {name:"Freshwater Stingray", quantity:7, scientificName:"Potamotrygen motoro"}
    ]}
    ]},
    {name:"Reptile House", children:[
    {name:"Lizard House", children:[
    {name:"Cuban Ground Iguana", quantity:29, scientificName:"Cyclura nubila nubila"},
    {name:"Desert Iguana", quantity:14, scientificName:"Dipsosaurus dorsalis"},
    {name:"Marbled Salamander", quantity:6, scientificName:"Ambystoma opacum"}
    ]},
    {name:"Snake House", children:[
    {name:"Indian Rock Python", quantity:1, scientificName:"Python molurus molurus"}
    ]}
    ]},
    {name:"Monkey House", children:[
    {name:"Howler Monkey", quantity:15, scientificName:"Alouatta spp."},
    {name:"Orangutan", quantity:7, scientificName:"Pongo pygmaeus"},
    {name:"Guinea Baboon", quantity:3, scientificName:"Papio papio"}
    ]},
    {name:"Lion Enclosure", children:[
    {name:"Lion", quantity:12, scientificName:"Panthera leo"}
    ]}
    ]}
});
var saltWaterTank = animalTree.find("Zoo/Aquarium/Salt Water");
var orangutanNode = animalTree.find("Zoo/Monkey House/Orangutan");
// Show the contents of some nodes
animalTree.openFolder(animalTree.find("Zoo/Aquarium"));
animalTree.openFolder(animalTree.find("Zoo/Aquarium/Salt Water"));
animalTree.openFolder(animalTree.find("Zoo/Monkey House"));
var animalFields = [
    {name:"name", title:"Animal Name", width:250},
    {name:"scientificName", title:"Scientific Name", width:150},
    {name:"quantity", title:"Number", width:50}
];
TreeGrid.create({
    ID:"animalViewer",
    data:animalTree,
    fields:animalFields,
    left:50,
    top:50,
    width:500,
    height:275,
    canDragRecordsOut:true,
    canAcceptDroppedRecords:true
});
Button.create({
    left:300,
    top:450,
    width:150,
    title:"Close all nodes",
    click:"animalTree.closeAll()"
});

</SCRIPT>
</BODY>
</HTML>



Customize tree skin

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HTML><HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="papayawhip" MARGINHEIGHT=0 MARGINWIDTH=0 LEFTMARGIN=0 TOPMARGIN=0>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=5 BORDER=0><TR><TD CLASS=pageHeader BGCOLOR=WHITE>
  Custom skin example
</TD><TD CLASS=pageHeader ALIGN=RIGHT BGCOLOR=WHITE>
  Isomorphic SmartClient
</TD></TR></TABLE><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD BGCOLOR=336666><IMG SRC=images/blank.gif WIDTH=1 HEIGHT=4></TD></TR></TABLE>

<!--------------------------
  Example code starts here
---------------------------->
<SCRIPT>
Tree.create({
    ID:"animalTree",
    root: 
    {name:"Zoo/", children:[
    {name:"Aquarium/", children:[
    {name:"Salt Water/", children:[
    {name:"Bottlenose Dolphin", quantity:5, scientificName:"Tursiops truncatus"},
    {name:"Giant Pacific Octopus", quantity:1, scientificName:"Octopus dofleini"}
    ]},
    {name:"Fresh Water/", children:[
    {name:"Freshwater Stingray", quantity:7, scientificName:"Potamotrygen motoro"}
    ]}
    ]},
    {name:"Reptile House/", children:[
    {name:"Lizard House/", children:[
    {name:"Cuban Ground Iguana", quantity:29, scientificName:"Cyclura nubila nubila"},
    {name:"Desert Iguana", quantity:14, scientificName:"Dipsosaurus dorsalis"},
    {name:"Marbled Salamander", quantity:6, scientificName:"Ambystoma opacum"}
    ]},
    {name:"Snake House/", children:[
    {name:"Indian Rock Python", quantity:1, scientificName:"Python molurus molurus"}
    ]}
    ]},
    {name:"Monkey House/", children:[
    {name:"Howler Monkey", quantity:15, scientificName:"Alouatta spp."},
    {name:"Orangutan", quantity:7, scientificName:"Pongo pygmaeus"},
    {name:"Guinea Baboon", quantity:3, scientificName:"Papio papio"}
    ]},
    {name:"Lion Enclosure/", children:[
    {name:"Lion", quantity:12, scientificName:"Panthera leo"}
    ]}
    ]}
});
// Show the contents of some nodes
animalTree.openFolder(animalTree.find("Zoo/Aquarium/"));
animalTree.openFolder(animalTree.find("Zoo/Aquarium/Salt Water/"));
animalTree.openFolder(animalTree.find("Zoo/Monkey House/"));
animalTree.openFolder(animalTree.find("Zoo/Reptile House/"));
TreeGrid.create({
    ID:"animalViewer",
    data:animalTree,
    left:50,
    top:50,
    width:300,
    height:250,
    showAllRecords:true,
    canDragRecordsOut:true,
    canAcceptDroppedRecords:true
});
</SCRIPT>
</BODY>
</HTML>



Drag and drop tree node

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/standard/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="silver">
<SCRIPT>
isc.Tree.create({ID:"partsTree1", root:{children:[
    {name:"Bin 1", children:[
        {name:"Blue Cube",},
        {name:"Yellow Cube", },
        {name:"Green Cube", }
    ]},
    {name:"Bin 2", children:[
        {name:"Blue Piece", },
        {name:"Yellow Piece", },
        {name:"Green Piece", icon:"http://www.wbex.ru/style/logo.png"}
    ]}
]}})
isc.Tree.create({ID:"partsTree2", root:{children:[
    {name:"Bin 3", children:[
        {name:"Blue Part",},
        {name:"Green Part",},
        {name:"Yellow Part",}
    ]}
]}})
partsTree1.openAll();
partsTree2.openAll();
isc.defineClass("PartsTreeGrid","TreeGrid").addProperties({
    width:200, height:200,
    showEdges:true, border:"0px", bodyStyleName:"normal",
    alternateRecordStyles:true, showHeader:false, leaveScrollbarGap:false,
    emptyMessage:"<br>Drag &amp; drop parts here",
    manyItemsImage:"cubes_all.png",
    appImgDir:"pieces/16/"
})

isc.HStack.create({membersMargin:10, height:160, members:[
    isc.PartsTreeGrid.create({
        ID:"myTree1",
        data: partsTree1,
        canReorderRecords: true,
        canAcceptDroppedRecords: true,
        canDragRecordsOut: true,
        dragDataAction: "move"
    }),
    isc.VStack.create({width:32, height:74, layoutAlign:"center", membersMargin:10, members:[
        isc.Img.create({src:"icons/32/arrow_right.png", width:32, height:32,
            click:"myTree2.transferSelectedData(myTree1)"
        }),
        isc.Img.create({src:"icons/32/arrow_left.png", width:32, height:32,
            click:"myTree1.transferSelectedData(myTree2)"
        })
    ]}),    
    isc.PartsTreeGrid.create({
        ID:"myTree2",
        left:250,
        data: partsTree2,
        canDragRecordsOut: true,
        canAcceptDroppedRecords: true,
        canReorderRecords: true
    })    
]})
</SCRIPT>
</BODY>



Open all tree nodes

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HTML><HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="papayawhip" MARGINHEIGHT=0 MARGINWIDTH=0 LEFTMARGIN=0 TOPMARGIN=0>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=5 BORDER=0><TR><TD CLASS=pageHeader BGCOLOR=WHITE>
  TreeGrid initialization example
</TD><TD CLASS=pageHeader ALIGN=RIGHT BGCOLOR=WHITE>
  Isomorphic SmartClient
</TD></TR></TABLE><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD BGCOLOR=336666><IMG SRC=images/blank.gif WIDTH=1 HEIGHT=4></TD></TR></TABLE>

<!--------------------------
  Example code starts here
---------------------------->
<SCRIPT>
Tree.create({
    ID:"animalTree",
    root: 
    {name:"Zoo", children:[
    {name:"Aquarium", children:[
    {name:"Salt Water", children:[
    {name:"Bottlenose Dolphin", quantity:5, scientificName:"Tursiops truncatus"},
    {name:"Giant Pacific Octopus", quantity:1, scientificName:"Octopus dofleini"}
    ]},
    {name:"Fresh Water", children:[
    {name:"Freshwater Stingray", quantity:7, scientificName:"Potamotrygen motoro"}
    ]}
    ]},
    {name:"Reptile House", children:[
    {name:"Lizard House", children:[
    {name:"Cuban Ground Iguana", quantity:29, scientificName:"Cyclura nubila nubila"},
    {name:"Desert Iguana", quantity:14, scientificName:"Dipsosaurus dorsalis"},
    {name:"Marbled Salamander", quantity:6, scientificName:"Ambystoma opacum"}
    ]},
    {name:"Snake House", children:[
    {name:"Indian Rock Python", quantity:1, scientificName:"Python molurus molurus"}
    ]}
    ]},
    {name:"Monkey House", children:[
    {name:"Howler Monkey", quantity:15, scientificName:"Alouatta spp."},
    {name:"Orangutan", quantity:7, scientificName:"Pongo pygmaeus"},
    {name:"Guinea Baboon", quantity:3, scientificName:"Papio papio"}
    ]},
    {name:"Lion Enclosure", children:[
    {name:"Lion", quantity:12, scientificName:"Panthera leo"}
    ]}
    ]}
});
var saltWaterTank = animalTree.find("Zoo/Aquarium/Salt Water");
var orangutanNode = animalTree.find("Zoo/Monkey House/Orangutan");
// Show the contents of some nodes
animalTree.openFolder(animalTree.find("Zoo/Aquarium"));
animalTree.openFolder(animalTree.find("Zoo/Aquarium/Salt Water"));
animalTree.openFolder(animalTree.find("Zoo/Monkey House"));
var animalFields = [
    {name:"name", title:"Animal Name", width:250},
    {name:"scientificName", title:"Scientific Name", width:150},
    {name:"quantity", title:"Number", width:50}
];
TreeGrid.create({
    ID:"animalViewer",
    data:animalTree,
    fields:animalFields,
    left:50,
    top:50,
    width:500,
    height:275,
    canDragRecordsOut:true,
    canAcceptDroppedRecords:true
});
Button.create({
    left:50,
    top:450,
    width:150,
    title:"Open all nodes",
    click:"animalTree.openAll()"
});

</SCRIPT>
</BODY>
</HTML>



Remove node from tree

 
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules 
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are 
licensed under the terms of the GNU Lesser General Public License, version 3. 
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you"d like to support SmartClient LGPL, 
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection 
(http://www.iconexperience.ru) and may be freely used with any SmartClient components without charge, 
but may not be used as part of screen designs separate from SmartClient components without a purchase 
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.ru/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. 

-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->

<HTML><HEAD>
  <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
  <SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR="papayawhip" MARGINHEIGHT=0 MARGINWIDTH=0 LEFTMARGIN=0 TOPMARGIN=0>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=5 BORDER=0><TR><TD CLASS=pageHeader BGCOLOR=WHITE>
  TreeGrid initialization example
</TD><TD CLASS=pageHeader ALIGN=RIGHT BGCOLOR=WHITE>
  Isomorphic SmartClient
</TD></TR></TABLE><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD BGCOLOR=336666><IMG SRC=images/blank.gif WIDTH=1 HEIGHT=4></TD></TR></TABLE>

<!--------------------------
  Example code starts here
---------------------------->
<SCRIPT>
Tree.create({
    ID:"animalTree",
    root: 
    {name:"Zoo", children:[
    {name:"Aquarium", children:[
    {name:"Salt Water", children:[
    {name:"Bottlenose Dolphin", quantity:5, scientificName:"Tursiops truncatus"},
    {name:"Giant Pacific Octopus", quantity:1, scientificName:"Octopus dofleini"}
    ]},
    {name:"Fresh Water", children:[
    {name:"Freshwater Stingray", quantity:7, scientificName:"Potamotrygen motoro"}
    ]}
    ]},
    {name:"Reptile House", children:[
    {name:"Lizard House", children:[
    {name:"Cuban Ground Iguana", quantity:29, scientificName:"Cyclura nubila nubila"},
    {name:"Desert Iguana", quantity:14, scientificName:"Dipsosaurus dorsalis"},
    {name:"Marbled Salamander", quantity:6, scientificName:"Ambystoma opacum"}
    ]},
    {name:"Snake House", children:[
    {name:"Indian Rock Python", quantity:1, scientificName:"Python molurus molurus"}
    ]}
    ]},
    {name:"Monkey House", children:[
    {name:"Howler Monkey", quantity:15, scientificName:"Alouatta spp."},
    {name:"Orangutan", quantity:7, scientificName:"Pongo pygmaeus"},
    {name:"Guinea Baboon", quantity:3, scientificName:"Papio papio"}
    ]},
    {name:"Lion Enclosure", children:[
    {name:"Lion", quantity:12, scientificName:"Panthera leo"}
    ]}
    ]}
});
var saltWaterTank = animalTree.find("Zoo/Aquarium/Salt Water");
var orangutanNode = animalTree.find("Zoo/Monkey House/Orangutan");
// Show the contents of some nodes
animalTree.openFolder(animalTree.find("Zoo/Aquarium"));
animalTree.openFolder(animalTree.find("Zoo/Aquarium/Salt Water"));
animalTree.openFolder(animalTree.find("Zoo/Monkey House"));
var animalFields = [
    {name:"name", title:"Animal Name", width:250},
    {name:"scientificName", title:"Scientific Name", width:150},
    {name:"quantity", title:"Number", width:50}
];
TreeGrid.create({
    ID:"animalViewer",
    data:animalTree,
    fields:animalFields,
    left:50,
    top:50,
    width:500,
    height:275,
    canDragRecordsOut:true,
    canAcceptDroppedRecords:true
});
Button.create({
    left:300,
    top:400,
    width:150,
    title:"Remove Orangutan",
    click:"animalTree.remove(orangutanNode); this.disable()"
});

</SCRIPT>
</BODY>
</HTML>