(펌)
div 영역 잡고 layout, toolbar, tabbar, button, grid, tree, menu 등 필요한 개체를 붙이면 됨. 의외로 엄청 편리하고 간단한 듯.
api 참고 http://docs.dhtmlx.com/doku.php
ex)
1. html
1) 필요한 css 추가
<link rel="stylesheet" type="text/css" href="../libs/dhtmlx/dhtmlx.css" />등
2) 필요한 js 추가
<script type="text/javascript" src="../libs/dhtmlx/dhtmlx.js"></script> 등
3) 객체가 보여질 영역 잡기
<div id="objId" style="position:absolute; width:1024px; height:600px;"></div>
2. script
1) html div 영역에 레이아웃 객체 생성.
(파라미터1 : div id, 파라미터2 : 레이아웃 형태) : 레이아웃 형태는 http://docs.dhtmlx.com/doku.php?id=dhtmlxlayout:layoutpattern 참고.
예를 들면,
var dhxLayout = new dhtmlXLayoutObject("objId", "1C");
레이아웃 객체 생성해서 화면에 뿌리는게 끝이다. 이게 전부.. 그 외 이미지나 기타 꾸미는 옵션도 api에 잘 나와있고..
2) 생성된 레이아웃 객체에 접근하기
dhxLayout.cells("a"). XXXXXX
레이아웃 형태에 따라 각 영역에 a, b, c .. 로 id가 잡힌다. 이 아이디로 각 영역에 접근 가능하다.
만약 레이아웃 a 영역에 트리를 붙이고 싶으면
var dhxTree = dhxLayout.cells("a").attachTree();
이게 끝이다. 트리를 구성하고 꾸미는건 트리 api에 잘 나와있고..
예를 들면,
dhxTree.setImagePath("../img/dhtmlxTree/"); => 트리 이미지 경로
dhxTree.attachEvent("onDblClick", function(id){ => 트리 이벤트 (onClick, onDblClick 등등)
var id = dhxTree.getSelectedItemId(); => 선택된 트리 아이디 가져오기
var openState = dhxTree.getOpenState(id); => 선택된 트리의 상태(펼쳐졌는지 오므려졌는지 ㅋ)
alert(id + "의 상태가 " + openState + "입니다.");
});
dhxTree.insertNewChild(0, "root", "/"); => 최상위 디렉토리를 /로 만들고 id는 root로 지정
dhxTree.insertNewChild("root", "child1", child1"); => id가 root인 트리의 하위에 child1이라는 이름과 아이디로 트리 노드 생성
dhxTree.insertNewChild("child1", "child1-1", "child1-1"); => id가 child1인 트리의 하위에 child1-1이라는 이름과 이이디로 트리노드 생성
이렇게 생성하면 아래와 같은 형태로 트리가 생성된다.
/
ㄴ child1
ㄴchild1-1
이렇게 해 놓으면 설정된 이미지경로의 이미지로 더블클릭이벤트를 가진 트리가 레이아웃 a에 생성된다.
거의 대부분의 컴포넌트들을 위와 같이 간단하게 만들고 사용할수 있다.
처음 사용해보는 거라 개념을 잡는데서 처음 몇 일간 엄청 헤맸지만 워낙 api가 자게하게 나와있고 메소드명이 직관적이라서
각 컴포넌트 api를 찾아보면 사용하는데 무리가 없을 것 같다.
각 컴포넌트 api 최초 진입 후에 API Methods (alphabetical list) 에서 제일 많이 찾은거 같다.
무언가 찾고 싶으면 get, id 이런걸로 찾고 값을 셋팅하고 싶으면 set으로 검색하고... 없는 게 거의 없었던 듯...
누가 만들었는지...
추가: dHtmlxLayout Basic Sample
<!DOCTYPE html> <html> <head> <title>Object-based init</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <link rel="stylesheet" type="text/css" href="../../../codebase/dhtmlx.css"/> <script src="../../../codebase/dhtmlx.js"></script> <style> div#layoutObj { position: relative; margin-top: 20px; margin-left: 20px; width: 600px; height: 400px; } </style> <script> var myLayout; function doOnLoad() { myLayout = new dhtmlXLayoutObject("layoutObj", "3L"); } </script> </head> <body onload="doOnLoad();"> <div id="layoutObj"></div> </body> </html>
화면 >>>>