The following components can be attached to dhtmlxLayout's items:
To the point, to the whole Layout only status bar and two dhmtlx components (dhtmlxMenu 2.0, dhtmlxToolbar 2.0.) can be added.
var dhxGrid = dhxLayout.cells("a").attachGrid(); var dhxTreeGrid = dhxLayout.cells("a").attachGrid(); var dhxTabbar = dhxLayout.cells("a").attachTabbar(); var dhxAccord = dhxLayout.cells("a").attachAccordion(); var dhxFolders = dhxLayout.cells("a").attachFolders(); var dhxMenu = dhxLayout.cells("a").attachMenu(); var dhxBar = dhxLayout.cells("a").attachToolbar(); var dhxEditor = dhxLayout.cells("a").attachEditor(); var db = dhxLayout.cells("a").attachStatusBar();
These methods, except attachStatusBar(), return dhtmlx[component] objects, which you can customize according to your needs.
If you want to attach dhtmlxGrid with paging - use the attachObject() method that attaches container with grid and paging area:
dhxLayout.cells("a").attachObject("paging_container");
Sometimes using layout, you may need to show a pop-up window. Make the following steps for it:
1. Create an instance of dhtmlxWindows
2. Create a window
As far as layout is based on windows as well, you can use a dhtmlxWindows instance that has been already created by layout. This allows you to reduce used memory and increase script's performance:
<script> // creating layout instance var dhxLayout = new dhtmlXLayoutObject("3L"); ... // creating pop-up window from layout's dhtmlxWindows' instance var popupWindow = dhxLayout.dhxWins.createWindow("popupWindow", ...); </script>
There are cases when some windows' ids are already used by layout so you can't use them for creating another windows.
How can you identify the ids you are not allowed to use?
There is a function that allows you to check availability of any 'id':
<script> // check if id in use if (dhxLayout.dhxWins(id)) { // id is already in use, checked id can not be used for new window } else { // id is free for use } </script>