<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src=" Ext/ext.ux.tree.ArrayTree.js"></script>
<title></title>
<style type="text/css">
#grid-example {width: 100%;height: 100%;}
</style>
<script language="javascript">
var tree;
$(document).ready(function(){
var Tree = Ext.tree;
tree = new Tree.TreePanel({
el:'tree_div',
autoScroll:true,
animate:true,
enableDD: true,
border:false,
ddGroup: "GridDD",
containerScroll: true,
loader: new Tree.TreeLoader({
dataUrl : '$!{basePath}/loadView.do?viewName=report/tree.json'
})
});
var root = new Tree.AsyncTreeNode({
text: 'RDM报表分组',
draggable:false,
id:'source'
});
tree.setRootNode(root);
tree.on('beforenodedrop',function(dropEvent){
var node = dropEvent.target; // 目标结点
var data = dropEvent.data; // 拖拽的数据
var point = dropEvent.point; // 拖拽到目标结点的位置
alert("point:"+point);
if(!data.node) {
switch(point) {
case 'append':
// 添加时,目标结点为node,子结点设为空
inserTreeNode(node, null, data.selections);
break;
case 'above':
// 插入到node之上,目标结点为node的parentNode,子结点为node
inserTreeNode(node.parentNode, node, data.selections);
break;
case 'below':
// 插入到node之下,目标结点为node的parentNode,子结点为node的nextSibling
inserTreeNode(node.parentNode, node.nextSibling, data.selections);
break;
}
}
});
// render the tree
tree.render();
root.expand();
//tree.on('contextmenu', menuShow);
createRptList();
//createFormList();
});
function menuShow ( node )
{
treeRightMenu.show(node.ui.getAnchor());
node.select();//让右击是选中当前节点
};
function inserTreeNode (node, refNode, selections) {
for(var i = 0; i < selections.length; i ++) {
var record = selections[i];
alert(record.get('text'));
tree.appendChild(new Tree.AsyncTreeNode({text:'dd',id:'11'}));
// node.insertBefore(new Tree.AsyncTreeNode({
// text: record.get('text'),
// id: record.get('id'),
// leaf: record.get('leaf'),
// cls: record.get('cls')
// }), refNode);
}
}
function createRptList(){
// grid的数据源
var data = [
['VIP用户投诉', 211, true, 'file'],
['12', 212, true, 'file'],
['13', 213, true, 'file'],
['14', 214, true, 'file'],
['15', 215, true, 'file'],
['16', 221, true, 'file'],
['17', 222, true, 'file'],
['18', 223, true, 'file'],
['19', 224, true, 'file'],
['20', 225, true, 'file']
];
var store = new Ext.data.Store({
reader: new Ext.data.ArrayReader({}, [
{name: 'text'},
{name: 'id'},
{name: 'leaf'},
{name: 'cls'}
])
});
store.loadData(data);
// 建一个grid,并设置到tgDD拖拽组中
var Grid = Ext.grid;
var model = new Grid.ColumnModel([
{header: "text", sortable: true, dataIndex: 'text'},
{id:'id', header: "id", sortable: true, dataIndex: 'id'},
{header: "leaf", sortable: true, dataIndex: 'leaf'},
{header: "cls", sortable: true, dataIndex: 'cls'}
]);
var grid = new Grid.GridPanel({
renderTo: 'grid',
ds: store,
cm: model,
sm: new Grid.RowSelectionModel(),
autoHeight: true,
enableDragDrop: true,
ddGroup: "GridDD"
});
}
function createFormList(){
var msForm = new Ext.form.FormPanel({
renderTo: 'multiselect',
title:'dddddddddd',
items:[{
xtype: 'multiselect',
fieldLabel: 'Multiselect<br />(Required)',
name: 'multiselect',
width: 250,
height: 200,
allowBlank:false
}]
});
}
</script>
</head>
<body>
<div id="multiselect"></div>
<table>
<tr>
<td><div id="tree_div" style="overflow:auto; height:300px;width:300px;border:1px solid #c3daf9;"></div></td>
<td><div id="grid" style="overflow:auto; height:300px;width:450px;"></div></td>
</tr>
</table>
</body>
</html>
分享到:
相关推荐
NULL 博文链接:https://2o12.iteye.com/blog/1169874
ExtJS4官方指南翻译:DragandDrop拖放/Grid组件/Tree组件/容器与布局
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件...
2.11.2. 再看怎么在表格里拖动行 2.11.2.1. 无用功 之 同一个表格里拖拽 2.11.2.2. 无间道 之 从这个表格拖到另一个表格 2.11.2.3. 无疆界 之 从表格里拖到树上 2.12. 大步流星,后台排序 2.13. grid与右键菜单 3. ...
再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里...
9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...
7.5.11 树节点:ext.data.nodeinterface与ext.data.tree / 364 7.5.12 store的方法 / 366 7.5.13 store的事件 / 368 7.5.14 store管理器:ext.data.storemanager / 369 7.6 综合实例 / 369 7.6.1 远程读取json...
再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间推拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件...
9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...
再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间推拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件...
可以把grid直接拖到tree,不同于其他的例子,拖动grid后会在tree中加一个叶子节点,大家试下就会明白。 自己练习用的哦,做的不好不要骂我,哪里不好希望大家包涵。 本人qq :784027965 大家学习happy哈^_^
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格...
9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid A. 常见问题乱弹 A.1. 怎么查看ext2里的api文档 A.2. 想把弹出对话框单独拿出来用的看这里 A.3. 想把日期选择框单独拿出来用的看这里 ...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里...
再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间推拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件...
再加上可编辑grid,添加新行,删除一或多行,提示多行数据,拖拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里...