//最後にクリックされたノードを保持するためのグローバル変数
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());
}