JSP
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="java.util.Calendar"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Testing.............</title>
<%--
<link rel="stylesheet" type="text/css" href="js/extjs/3.2.0/resources/css/ext-all.css">
<script type="text/javascript" src="js/extjs/3.2.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/extjs/3.2.0/ext-all.js"></script>
<script type='text/javascript' src='index.js'></script>
--%> <%--
<script type="text/javascript" src="js/extjs/4.0.0/ext-all.js"></script>
<script type="text/javascript" src="js/extjs/4.0.0/ext-all-debug.js"></script>
<script type="text/javascript" src="js/extjs/4.0.0/ext-debug.js"></script>
<script type="text/javascript" src="js/extjs/4.0.0/ext.js"></script>
--%>
<link rel="stylesheet" type="text/css" href="js/extjs/4.0.0/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="js/extjs/4.0.0/examples/shared/example.css" />
<script type="text/javascript" src="js/extjs/4.0.0/bootstrap.js"></script>
<script type="text/javascript" src="js/extjs/4.0.0/ux/Spotlight.js"></script>
<script type="text/javascript" src="example-data.js"></script>
<script type="text/javascript" src="index.js"></script>

<style>
        .x-tree-checked {
            text-decoration: line-through;
            color: #777;
        }
        .x-grid-row-selected .x-grid-cell {
            background-color: #efefef !important;
        }
     </style> </head>
<body>
</body>
</html>JS
/*
 * Ext.data.TreeStore Ext.tree.Panel Ext.data.Model
 */Ext.require(['Ext.data.*', 'Ext.grid.*', 'Ext.tree.*']);Ext.onReady(function() {
Ext.define('Task', {
extend : 'Ext.data.Model',
fields : [{
name : 'task',
type : 'string'
}, {
name : 'user',
type : 'string'
}]
}); //点击启用窗体
var enableWin = Ext.create('Ext.window.Window', {
title : '启用',
height : 200,
width : 400,
layout : 'fit',
html : '是否启用应急系统-->CRM客户中间件',
buttons : [{
text : '是',
handler : function() {
alert('应急系统-->CRM客服中间件启动中...')
}
}, {
text : '否',
handler : function() {
enableWin.hide()
}
}]
}); //点击停止窗体
var stopWin = Ext.create('Ext.window.Window', {
title : '停止',
height : 200,
width : 400,
layout : 'fit',
html : '是否启用应急系统-->CRM客户中间件',
buttons : [{
text : '是',
handler : function() {
alert('应急系统-->CRM客服中间件停止中...')
}
}, {
text : '否',
handler : function() {
stopWin.hide()
}
}]
});

//点击状态检查窗体
var checkWin = Ext.create('Ext.window.Window', {
title : '状态检查',
height : 200,
width : 400,
layout : 'fit',
html : '应急系统-->CRM客户中间件状态检测中...'
});

//Tree的store定义
var store = Ext.create('Ext.data.TreeStore', {
model : 'Task',
proxy : {
type : 'ajax',
url : 'treegrid.json'
},
folderSort : true
});

//启用按钮
var enableBtn = Ext.create('Ext.Button', {
    text: '启 用',
    renderTo: Ext.getBody(),        
    handler: function() {
     enableWin.show();
    }
});
//停止按钮
var stopBtn = Ext.create('Ext.Button', {
    text: '停 止',
    renderTo: Ext.getBody(),        
    handler: function() {
     stopWin.show();
    }
});
//状态检查
var checkBtn = Ext.create('Ext.Button', {
    text: '状态检查',
    renderTo: Ext.getBody(),        
    handler: function() {
     checkWin.show();
    }
}); var tree = Ext.create('Ext.tree.Panel', {
title : '标题',
width : '100%',
height : '100%',
renderTo : Ext.getBody(),
collapsible : true,
useArrows : true,
rootVisible : false,
store : store,
bbar:[{
text:'DEBUG',
handler:function(){
var records = tree.getView().getChecked();
console.log(records)
}
}],
multiSelect : true,
singleExpand : true,
listeners:{
scope:this,
'checkchange':function(node,checked){
if(checked==false){
alert('没选')
}else{
alert('选了')
}
}
},
columns : [{
xtype : 'treecolumn',
// text : 'Task',
flex : 2,
sortable : false,
dataIndex : 'task',
renderer : function(value, metaData, record, rowIndex, colIndex,
store) {
var str = '';
str = record.get('task');
return str;
}
}, {
// text : '操作',
flex : 1,
sortable : false,
renderer : function(value, metaData, record, rowIndex, colIndex,
store) {
if (record.get('iconCls') == 'task') {
var formatStr = "";
formatStr = "<input type='button' disabled='disabled' value='启用' /></input> <input type='button' disabled='disabled' value='停止'/></input> <input type='button' disabled='disabled' value='检查状态'/></input>"
return "<div class='controlBtn'>" + formatStr + "</div>";
} else {
return "<div></div>"
}
}
}]
});
});
treegrid-json
{
    "text": ".",
    "children": [{
        task: '应急系统',
        iconCls: 'task-folder',
        children: [{
            task: 'CRM营业',
            iconCls: 'task-folder',
            children: [{
             id:1,
                task: 'CRM营业中间件',
                iconCls: 'task',
                checked:false,
                leaf: true
            },
            {
             id:2,
                task: 'CRM营业前台',
                iconCls: 'task',
                checked:false,
                leaf: true
            }]
        },
        {
            task: 'CRM客服',
            iconCls: 'task-folder',
            children: [{
             id:3,
                task: 'CRM客服中间件',
                iconCls: 'task',
                checked:false,
                leaf: true
            },
            {
             id:4,
                task: 'CRM客服前台',
                iconCls: 'task',
                checked:false,
                leaf: true
            }]
        },
        {
            task: '开通系统',
            iconCls: 'task-folder',
            children: [{
             id:5,
                task: '开通中间件',
                iconCls: 'task',
                checked:false,
                leaf: true
            },
            {
             id:6,
                task: '开通接口机',
                iconCls: 'task',
                checked:false,
                leaf: true
            }]
        },{
            task: '充值系统',
            iconCls: 'task-folder',
            children: [{
             id:7,
                task: '充值中间件',
                iconCls: 'task',
                checked:false,
                leaf: true
            },
            {
             id:8,
                task: '充值接口机',
                iconCls: 'task',
                checked:false,
                leaf: true
            }]
        },{
            task: 'cboss系统',
            iconCls: 'task-folder',
            children: [{
             id:9,
                task: 'cboss中间件',
                iconCls: 'task',
                checked:false,
                leaf: true
            },
            {
             id:10,
                task: 'cboss接口机',
                iconCls: 'task',
                checked:false,
                leaf: true
            }]
        }]
    }]
}效果图如下
想实现这样的效果,只有当选择了某一行的时候,后面的按钮才可以使用。
注:后面的按钮我是用DIV写的,试过了treegrid里面不能放ext的button控件,如果想要放控件,不知道大家有木有好的思想,借鉴下,谢谢