//最後にクリックされたノードを保持するためのグローバル変数 var lastNode = null; // クライアント イベント 'ItemClick' は 2 つのパラメーター sender と e を取得します // sender はイベントを発生させているオブジェクトです // e は DataMenuItemCancelEventArgs です function WebDataMenu1_ItemClick(sender, e) { //クリックされたメニュー項目の Key を取得します switch (e.getItem().get_key()) { case "EDIT": if (lastNode != null) { // WebDataTree への参照を取得します var tree = $find("WebDataTree1"); if (tree != null) { // nodeEditing オブジェクトを取得します var nodeEditing = tree.getNodeEditing(); //ノード編集モードを開始します nodeEditing.enterNodeEditing(lastNode); } } break; case "ExpandCollapse": if (lastNode != null) //ノードの Expanded 状態を現在の状態から // 反対の値に変更します。ノードが展開されている場合には //縮小されます。ノードが縮小されている場合には展開されます。 lastNode.toggle(true, true); break; } } // クライアント イベント 'ValueChanging' は 2 つのパラメーター sender と e を取得します // sender はイベントを発生させているオブジェクトです // e は DataTreeNodeEventArgs です function WebDataTree1_NodeClick(sender, e) { lastNode = e.getNode(); // WebDataMenu への参照を取得します var menu = $find("WebDataMenu1"); if (menu != null && e.get_browserEvent() != null && e.get_browserEvent().button == 2) //showAt メソッドは 3 つのパラメーター、x、y、browserEvent(オプション)を取得します //x -- メニューの絶対位置のための X 軸位置 //y -- メニューの絶対位置のための Y 軸位置 //browserEvent -- ブラウザ イベントに基づく自動配置 menu.showAt(null, null, e.get_browserEvent()); }